使用參考: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配色
圖中顏色深淺表示相關性強弱宠默,白色表示不相關。
安裝
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)
圖中顏色深淺表示從負相關到正相關的程度
但是不夠好看!
下面是圈形的
# method = "circle"
ggcorrplot(corr, method = "circle")
#使用聚類和排序
# Reordering the correlation matrix
# --------------------------------
# using hierarchical clustering
ggcorrplot(corr, hc.order = TRUE, outline.color = "white")
#只顯示半邊
# Types of correlogram layout
# --------------------------------
# Get the lower triangle
ggcorrplot(corr,
hc.order = TRUE,
type = "lower",#這個參數(shù)upper或者為lower
outline.color = "white")
#配色,美化
# 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")
)
#在圖上添加相關系數(shù)
# Add correlation coefficients
# --------------------------------
# argument lab = TRUE
ggcorrplot(corr,
hc.order = TRUE,
type = "lower",
lab = TRUE)
#增加相關性p值权她,不顯著的打叉
# Add correlation significance level
# --------------------------------
# Argument p.mat
# Barring the no significant coefficient
ggcorrplot(corr,
hc.order = TRUE,
type = "lower",
p.mat = p.mat)
# Leave blank on no significant coefficient
ggcorrplot(
corr,
p.mat = p.mat,
hc.order = TRUE,
type = "lower",
lab=TRUE,
insig = "blank",
)
還可以把不相關的用空白表示