首页 > 智能网

相关性热图 (ggcorrplot包)

来源:智能网
时间:2020-12-28 14:02:47
热度:725

相关性热图 (ggcorrplot包)ggcorrplot包是基于ggplot2的扩展包,主要针对相关系数输出的结果进行可视化, 同时计算相关性p-value,可以实现选择颜色,文

ggcorrplot包是基于ggplot2的扩展包,主要针对相关系数输出的结果进行可视化, 同时计算相关性p-value,可以实现选择颜色,文本标签,颜色标签,布局等的操作。

相关系数的值在 -1~1之间,1表示强正相关,0不相关。

相关图是基于相关系数矩阵绘制的图,如果是椭圆:则椭圆的色相对应相关性的正负,颜色深浅对应相关性绝对值大小,越深则绝对值越大。椭圆的形状对应相关性绝对值大小,默认越扁,则相关性绝对值越大。如果是圆,则圆的面积对应相关性大小,如果是扇形,则扇形的弧度对应相关性大小。

安装加载install.packages("ggcorrplot")library(ggplot2)library(ggcorrplot)

加载ggcorrplot前需先加载ggplot包,否则无法运行!

相关参数参数用法method指定可视化的形状,可以是circle圆形,square方形(默认)。type指定显示范围,可以是full完全(默认),lower下三角,upper上三角ggthemeggplot2函数或主题对象。默认值为“theme_minimal”。允许的值是官方的ggplot2主题,包括theme_gray、theme_bw、theme_minimal、theme_classic、theme_void…。title图片标题show.legend逻辑,如果为真,则显示图例legend.title图例标题show.diag是否在主对角线上显示相关系数colors低、中、高相关值的3种颜色的向量outline.color正方形或圆形的轮廓颜色。默认值为“灰色”。hc.order逻辑值。如果为真,则使用hclust函数对相关矩阵进行排序。hc.method是否为相关系数绘图,默认为TRUE,FALSE则可将其它数字矩阵进行可视化。lab逻辑值。如果为真,则在绘图上添加相关系数。lab_col相关系数标签的颜色lab_size相关系数标签的大小pch在不显著相关系数的图示符上添加字符(仅当insig为“pch”时有效)。默认值为4。tl.cex文本标签的大小tl.col文本标签的颜色tl.srt文本标签字符串旋转digits决定要显示的小数位数(默认值:“2”)

请参阅help(ggcorrplot2)帮助文档

示例

本文以R内置的mtcars数据集为例

ggcorrplot(cor(mtcars)#改变可视化形状ggcorrplot(corr, method = "circle")

#显示圆形的轮廓ggcorrplot(corr, method = "circle",outline.color = "red")

#旋转文本字符串ggcorrplot(corr, method = "circle",outline.color = "red",tl.srt = TRUE)

#控制矩阵形状 下三角形ggcorrplot(corr,method = "circle", hc.order = TRUE, type = "lower")

#上三角形ggcorrplot(corr,method = "circle", hc.order = TRUE, type = "upper")

#更改颜色以及主题ggcorrplot(corr, hc.order = TRUE, type = "lower", outline.color = "white",ggtheme = ggplot2::theme_gray, colors = c("#6D9EC1", "white", "#E46726"))

#添加相关系数ggcorrplot(corr, hc.order = TRUE, type = "lower", lab = TRUE)

#显示对角线上相关系数ggcorrplot(corr, show.diag = TRUE, type = "lower", lab = TRUE)

#增加显著性水平,不显著的话就不添加了ggcorrplot(corr, hc.order = TRUE, type = "lower", p.mat = p.mat)

#将不显著的色块设置成空白ggcorrplot(corr, p.mat = p.mat, hc.order=TRUE, type = "lower", insig = "blank")

#低于p值为空ggcorrplot(corr, hc.order = TRUE,type="full",colors=c("cyan","white","magenta"),tl.cex = 10,tl.col = "blue",digits = 1,ggtheme=theme_bw())

在此仅列出部分示例图,大家可以更改参数在R中实现.

小结

1.ggcorrplot包是用于对相关矩阵重排序以及在相关图中展示显著性水平的方法。

2.另外一个可用展示相关系数的就是corrplot包了,相对于ggcorrplot包拥有更丰富的参数,更直观地展示统计结果,例如method参数,ggcorrplot可以是circle圆形,square方形(默认),而corrplot包,指定可视化的形状,可以是circle圆形(默认),square方形,ellipse, 椭圆形,number数值,shade阴影,color颜色,pie饼图,展现形式更为丰富。corrplot包中有一些在ggcorrplot包中无法实现的参数,如addCoefasPercent、hclust.method等,具体可参照公众号corrplot包的介绍。

3.ggcorrplot包作为ggplot2的扩展包,使用前需先加载ggplot2包,可以实现ggplot2的强大绘图功能,如还需展现其他非相关系数结果就更方便了,大家可以根据自己的习惯及数据需求选择自己合适的包进行数据展示。