矩陣數據變量多,信息量大,要想一目瞭然的可視化,大家的第一反應我相信一定是heatmap,不過今天要給大家分享一個和pheatmap、complexheatmap包不一樣的包corrplot,corrplot包專注於相關性矩陣可視化,使用起來更加簡單方便。
corrplot主要偏向於使用在相關性矩陣分析中,當然不僅限於相關性矩陣,只要數據類型符合要求。
corrplot(https://github.com/taiyun/corrplot)是發表在github上的開源R包,使用之前需要安裝:
安裝最新的開發版本:
install.packages("devtools")
devtools::install_github("taiyun/corrplot", build_vignettes=TRUE)
安裝穩定版本:
install.packages("corrplot")
睜大你的眼睛,一大波原圖來襲:
以上圖片來源於:
https://cran.r-project.org/web/packages/corrplot/vignettes/corrplot-intro.html
corrplot包的主函數是corrplot,另外還有一個封裝的函數corrplot.mixed,可以對上三角和下三角分別控制其顯示方式,常用參數如下:
參數 | 說明 |
corr | 用於繪圖的矩陣,必須是正方形矩陣,如果是普通的矩陣,需要設置is.corr=FALSE |
method | 可視化的方法,共有7中,默認是circle |
type | 展示全矩陣,還是半角矩陣,默認full |
add | 邏輯值,若為TRUE,可以添加到現有圖形中 |
col | 顏色設置 |
is.corr | 邏輯值,若為TRUE,表示矩陣不是正方形的相關性矩陣 |
diag | 是否顯示對角線值 |
tl.cex | 標籤字體大小 |
tl.col | 標籤字體顏色 |
cl.lim | 值域範圍 |
孫老溼舉栗子
corrplot繪圖比較簡單,我們使用mtcars模擬數據演示,head(mtcars)查看:
install.packages("corrplot") #安裝包
library(corrplot) #加載包
M <- cor(mtcars) #計算mtcars變量之間的相關性,返回值是相關性矩陣
corrplot(M, method="circle") #繪圖
corrplot.mixed(M, upper = "ellipse")
corrplot繪圖相對簡單,大家可以到:
https://cran.r-project.org/web/packages/corrplot/vignettes/corrplot-intro.html
網站查看更多的使用例子。
另外ggplot2中可以繪製,略顯繁瑣,而且ggplot2中也有一款輔助包ggcorrplot大家感興趣的可以去看一下:https://github.com/kassambara/ggcorrplot
有任何問題,歡迎在文末留言討論。