ggcorrplot相關系數(shù)可視化-R語言

使用參考:https://rpkgs.datanovia.com/ggcorrplot/
我只是跟著這個ggcorrplot包的文檔教程學習了一遍硕噩。
這個包使用起來非常easy!

ggcorrplot包可以使用ggplot2輕松可視化相關系數(shù)矩陣旦棉。
一個矩陣的兩列之間凶伙,可以算出相關系數(shù)募舟。
還可以同時計算出相關系數(shù)和p值。

參數(shù)

Usage
ggcorrplot(corr, method = c("square", "circle"), type = c("full",
  "lower", "upper"), ggtheme = ggplot2::theme_minimal, title = "",
  show.legend = TRUE, legend.title = "Corr", show.diag = FALSE,
  colors = c("blue", "white", "red"), outline.color = "gray",
  hc.order = FALSE, hc.method = "complete", lab = FALSE,
  lab_col = "black", lab_size = 4, p.mat = NULL, sig.level = 0.05,
  insig = c("pch", "blank"), pch = 4, pch.col = "black",
  pch.cex = 5, tl.cex = 12, tl.col = "black", tl.srt = 45,
  digits = 2)

cor_pmat(x, ...)

參數(shù)很多辕羽,使用的時候链瓦,最基本的就是那么幾個。

data(mtcars)#這里使用的是R語言自帶的一個數(shù)據(jù)集合气筋,你使用的時候換成自己的就行。
corr <- round(cor(mtcars), 1)#算相關系數(shù)的核心函數(shù)
p.mat <- cor_pmat(mtcars)#算p-values
ggcorrplot(
  corr,
  p.mat = p.mat,
  hc.order = TRUE,
  type = "lower",
  insig = "blank",
  outline.color = "white",
  ggtheme = ggplot2::theme_gray,
  colors = c("#6D9EC1", "white", "#E46726")
)
#畫圖
#corr相關系數(shù)變量旋圆;
#p.mat p值變量
#hc.erder是否聚類
#顯示上半部分還是下半部分
#insig不顯著的用白色框表示
#圖中的框邊為白色
#ggtheme
#colors配色
image.png

圖中顏色深淺表示相關性強弱宠默,白色表示不相關。

安裝

install.packages("ggcorrplot")
# Install
if(!require(devtools)) install.packages("devtools")
devtools::install_github("kassambara/ggcorrplot")

如果第一種方法不能安裝灵巧,請使用第二種搀矫。我當時用第一種方法顯示缺失lib。

加載

library(ggcorrplot)

開始

mtcars數(shù)據(jù)集將在下面的R代碼中使用刻肄。函數(shù)cor_pmat()[在ggcorrplot中]計算相關p值的矩陣艾君。

# Compute a correlation matrix
data(mtcars)
corr <- round(cor(mtcars), 1)
head(corr[, 1:6])
#>       mpg  cyl disp   hp drat   wt
#> mpg   1.0 -0.9 -0.8 -0.8  0.7 -0.9
#> cyl  -0.9  1.0  0.9  0.8 -0.7  0.8
#> disp -0.8  0.9  1.0  0.8 -0.7  0.9
#> hp   -0.8  0.8  0.8  1.0 -0.4  0.7
#> drat  0.7 -0.7 -0.7 -0.4  1.0 -0.7
#> wt   -0.9  0.8  0.9  0.7 -0.7  1.0

# Compute a matrix of correlation p-values
p.mat <- cor_pmat(mtcars)
head(p.mat[, 1:4])
#>               mpg          cyl         disp           hp
#> mpg  0.000000e+00 6.112687e-10 9.380327e-10 1.787835e-07
#> cyl  6.112687e-10 0.000000e+00 1.802838e-12 3.477861e-09
#> disp 9.380327e-10 1.802838e-12 0.000000e+00 7.142679e-08
#> hp   1.787835e-07 3.477861e-09 7.142679e-08 0.000000e+00
#> drat 1.776240e-05 8.244636e-06 5.282022e-06 9.988772e-03
#> wt   1.293959e-10 1.217567e-07 1.222320e-11 4.145827e-05

corr()函數(shù)計算矩陣每個列之間的兩兩相關性質(zhì),假設你有兩列數(shù)據(jù)肄方,那么計算結果就是2*2的系數(shù)矩陣冰垄。
round()函數(shù)是保留相關系數(shù)幾個小數(shù)點位數(shù)
cor_pmat()計算每個列之間的相關系數(shù)的p值

相關性系數(shù)矩陣的可視化

這便是該包的核心功能

# Visualize the correlation matrix
# --------------------------------
# method = "square" (default)
ggcorrplot(corr)
image.png

圖中顏色深淺表示從負相關到正相關的程度
但是不夠好看!

下面是圈形的

# method = "circle"
ggcorrplot(corr, method = "circle")
image.png
#使用聚類和排序
# Reordering the correlation matrix
# --------------------------------
# using hierarchical clustering
ggcorrplot(corr, hc.order = TRUE, outline.color = "white")
image.png
#只顯示半邊
# Types of correlogram layout
# --------------------------------
# Get the lower triangle
ggcorrplot(corr,
           hc.order = TRUE,
           type = "lower",#這個參數(shù)upper或者為lower
           outline.color = "white")
image.png
image.png
#配色,美化

# Change colors and theme
# --------------------------------
# Argument colors
ggcorrplot(
  corr,
  hc.order = TRUE,
  type = "lower",
  outline.color = "white",
  ggtheme = ggplot2::theme_gray,
  colors = c("#6D9EC1", "white", "#E46726")
)
image.png
#在圖上添加相關系數(shù)

# Add correlation coefficients
# --------------------------------
# argument lab = TRUE
ggcorrplot(corr,
           hc.order = TRUE,
           type = "lower",
           lab = TRUE)
image.png
#增加相關性p值权她,不顯著的打叉
# Add correlation significance level
# --------------------------------
# Argument p.mat
# Barring the no significant coefficient
ggcorrplot(corr,
           hc.order = TRUE,
           type = "lower",
           p.mat = p.mat)
image.png


# Leave blank on no significant coefficient
ggcorrplot(
  corr,
  p.mat = p.mat,
  hc.order = TRUE,
  type = "lower",
  lab=TRUE,
  insig = "blank",
)

還可以把不相關的用空白表示


image.png
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末虹茶,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子隅要,更是在濱河造成了極大的恐慌蝴罪,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件步清,死亡現(xiàn)場離奇詭異要门,居然都是意外死亡,警方通過查閱死者的電腦和手機廓啊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進店門欢搜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人谴轮,你說我怎么就攤上這事炒瘟。” “怎么了第步?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵疮装,是天一觀的道長缘琅。 經(jīng)常有香客問我,道長廓推,這世上最難降的妖魔是什么刷袍? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮樊展,結果婚禮上做个,老公的妹妹穿的比我還像新娘。我一直安慰自己滚局,他們只是感情好,可當我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布顽频。 她就那樣靜靜地躺著藤肢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪糯景。 梳的紋絲不亂的頭發(fā)上嘁圈,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天,我揣著相機與錄音蟀淮,去河邊找鬼最住。 笑死,一個胖子當著我的面吹牛怠惶,可吹牛的內(nèi)容都是我干的涨缚。 我是一名探鬼主播,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼策治,長吁一口氣:“原來是場噩夢啊……” “哼脓魏!你這毒婦竟也來了?” 一聲冷哼從身側響起通惫,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤茂翔,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后履腋,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體珊燎,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年遵湖,在試婚紗的時候發(fā)現(xiàn)自己被綠了悔政。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡延旧,死狀恐怖卓箫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情垄潮,我是刑警寧澤烹卒,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布闷盔,位于F島的核電站,受9級特大地震影響旅急,放射性物質(zhì)發(fā)生泄漏逢勾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一藐吮、第九天 我趴在偏房一處隱蔽的房頂上張望溺拱。 院中可真熱鬧,春花似錦谣辞、人聲如沸迫摔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽句占。三九已至,卻和暖如春躯嫉,著一層夾襖步出監(jiān)牢的瞬間纱烘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工祈餐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留擂啥,地道東北人。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓帆阳,卻偏偏與公主長得像哺壶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蜒谤,可洞房花燭夜當晚...
    茶點故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內(nèi)容