ggfortify 是一個簡單易用的r軟體包,它可以僅僅使用一行代碼來對許多受歡迎的r軟體包結果進行二維可視化,這讓統計學家以及資料科學家省去了許多繁瑣和重複的過程,不用對結果進行任何處理就能以 ggplot 的風格畫出好看的圖,大大地提高了工作的效率。
ggfortify 已經可以在 cran 上下載下傳得到,但是由于最近很多的功能都還在快速增加,是以還是推薦大家從 github 上下載下傳和安裝。
接下來我将簡單介紹一下怎麼用 ggplot2 和 ggfortify 來很快地對pca、聚類以及lfda的結果進行可視化,然後将簡單介紹用 ggfortify 來對時間序列進行快速可視化的方法。
pca (主成分分析)
ggfortify 使 ggplot2 知道怎麼诠釋pca對象。加載好 ggfortify 包之後, 你可以對stats::prcomp 和 stats::princomp 對象使用 ggplot2::autoplot。
你還可以選擇資料中的一列來給畫出的點按類别自動分顔色。輸入help(autoplot.prcomp) 可以了解到更多的其他選擇。
比如說給定label = true 可以給每個點加上辨別(以rownames為标準),也可以調整辨別的大小。
給定 shape = false 可以讓所有的點消失,隻留下辨別,這樣可以讓圖更清晰,辨識度更大。
給定 loadings = true 可以很快地畫出特征向量。
同樣的,你也可以顯示特征向量的辨別以及調整他們的大小,更多選擇請參考幫助檔案。
因子分析
和pca類似,ggfortify 也支援 stats::factanal 對象。可調的選擇也很廣泛。以下給出了簡單的例子:
注意 當你使用 factanal 來計算分數的話,你必須給定 scores 的值。
k-均值聚類
其他聚類
ggfortify 也支援 cluster::clara, cluster::fanny, cluster::pam。
給定 frame = true,可以把 stats::kmeans 和 cluster::* 中的每個類圈出來。
你也可以通過 frame.type 來選擇圈的類型。更多選擇請參照 ggplot2::stat_ellipse 裡面的 frame.type 的 type 關鍵詞。
更多關于聚類方面的可視化請參考 github 上的 vignette 或者 rpubs 上的例子。
lfda(fisher局部判别分析)
lfda 包支援一系列的 fisher 局部判别分析方法,包括半監督 lfda,非線性 lfda。你也可以使用 ggfortify 來對他們的結果進行可視化。
注意 對 iris 資料來說,不同的類之間的關系很顯然不是簡單的線性,這種情況下非線性的klfda 影響可能太強大而影響了可視化的效果,在使用前請充分了解每個算法的意義以及效果。
用 ggfortify 可以使時間序列的可視化變得極其簡單。接下來我将給出一些簡單的例子。
可以使用 ts.colour 和 ts.linetype 來改變線的顔色和形狀。更多的選擇請參考 help(autoplot.ts)。
使用 facets = false 可以把所有變量畫在一條軸上。
autoplot 也可以了解其他的時間序列類别。可支援的r包有:
zoo::zooreg
xts::xts
timeseries::timseries
tseries::irts
一些例子:
你也可以通過 ts.geom 來改變幾何形狀,目前支援的有 line, bar 和 point。
forecast包
有很多設定可供調整:
vars包
使用 smoothing='none' 可以畫出過濾後的結果。
可支援的stats包裡的對象有:
stl, decomposed.ts
acf, pacf, ccf
spec.ar, spec.pgram
cpgram
原文釋出時間為:2015-12-12
本文來自雲栖社群合作夥伴“大資料文摘”,了解相關資訊可以關注“bigdatadigest”微信公衆号