R語言與Tableau集成之可視化應用
面積圖、條形圖的綜合使用。
該圖反映的是2014年全球飢餓指數,將數據繪製在地圖中。
這是一幅颶風行走的路徑圖,粗細反映了颶風的風速。
這是一幅非常流行的桑基圖。
從上面的幾幅圖中發現,該軟體作圖效果還是非常炫酷的,遺憾的是,其無法從事數據分析和挖掘工作,即無法直接將數據分析或挖掘的結果進行可視化。幸運的是,從Tableau的8版本開始,Tableau與R語言打通,可以在Tableau中運行R腳本,從而將R語言的分析或挖掘結果在Tableau中展示,可謂強強聯手,所向披靡。
下文就跟大家說說如何實現Tableau和R語言的聯手,繪製聯手後的可視化。
首先需要在R中下載Rserve包,通過該包,實現兩個軟體的打通。
install.packages(Rserve)
library(Rserve)
#這裡必須使用下面函數,表示啟動R伺服器
Rserve()
其次,通過Tableau連接R語言。
在Tableau界面下連接R語言:「幫助」——「設置和性能」——「管理R連接」,輸入伺服器及埠號即可成功連接(這裡的伺服器是本地機算計,故伺服器填localhost)。如下圖所示:
上圖顯示R語言與Tableau連接成功。完成前面兩步後,最後實戰一下二合一的效果,具體請看下圖。
一、如何將統計學意義的異常值尋找出來?
通過R創建異常值欄位:
欄位腳本如下:
IF SUM([利潤]) > SCRIPT_REAL(
quantile(.arg1,0.75)+1.5*IQR(.arg1),
SUM([利潤])) OR
SUM([利潤]) < SCRIPT_REAL(
quantile(.arg1,0.25)-1.5*IQR(.arg1),
SUM([利潤]))
THEN Yes
ELSE No
END
Tableau展現結果:
上圖的異常值判斷標準是:超過上四分位數的1.5倍四分位距或低於下四分位數的1.5倍四分位距。
二、連續變數的預測
雖然Tableau可以直接繪製趨勢線,並根據趨勢線做預測,但是這僅僅是一個因變數與一個自變數之間的趨勢關係,如下圖繪製的利潤趨勢僅僅與時間維度相關:
如果影響利潤的因素由銷售數量、銷售額和折扣率三個變數組成,該如何將回歸後的預測體現在圖中呢?
通過R擬合預測值:
欄位腳本如下:
SCRIPT_REAL(
fit <- lm(.arg1~.arg2+.arg3+.arg4);
fit$fitted.values,
SUM([利潤]),SUM([數量]),AVG([折扣]),SUM([銷售額])
)
Tableau展示結果:
從圖中的結果顯示,預測與實際的趨勢一致,是一個比較理想的預測模型。
三、聚類分析
聚類分析是數據挖掘中無監督的演算法之一,R語言可以非常便捷的實現各種聚類演算法,如K-Means、K中心、EM期望最大法、層次分析等,下面就是要K均值演算法的距離結果在Tableau中展示:
欄位腳本如下:
//使用k-means方法對數據進行聚類
SCRIPT_REAL("fit <- kmeans(data.frame(.arg1,.arg2,.arg3,.arg4),centers=3);
fit$cluster",
SUM([Petal.Length]),SUM([Petal.Width]),SUM([Sepal.Length]),SUM([Sepal.Width]))
Tableau展示結果:
非常便捷,這就輕鬆搞定聚類結果的可視化。
如果你手頭有學生版的Tableau或試用期內的Tableau或工作中正在使用,不妨試試Tableau與R語言的結合,這會讓你感嘆不已:強大的可視化工具與強大的統計分析工具讓你的工作變得更加高效和方便。
還有一篇文章值得推薦:《關聯Tableau與R:對美國98個大城市交通情況的實時展現》
http://blog.sina.com.cn/s/blog_955839f10102vs3c.html
----------------
作者:劉順祥
個人公眾號:每天進步一點點2015
出處:每天進步一點點2015
明天晚上Sim老師視頻直播分享《手把手教你做文本挖掘》,分享內容: 1、jiebaR的簡介及切詞;2、文字雲的繪製;3、tm包的簡介及構建文檔詞條矩陣; 4、聚類的簡單使用;參加的夥伴,可以加下微信:tianshanliangyong ,謝謝。
推薦閱讀:
※《R語言實戰》學習筆記之數據結構
※R語言可視化——圖表美化與套用主題(下)
※國外最全的圖表參考手冊
※Learn R | 時間序列圖表的可視化
※Learn R | 數據重塑之tidyr包