R可视化相关性矩阵的几种方案
R中相关性矩阵的可视化解决方法在已经有很多了,我们在这里总结一些常用的都有哪些:
我们就使用R中内置数据集 mtcars , 计算出矩阵的相关系数corr,后续出图都将是基于这个数据进行绘制。
这个包应该算是可视化相关性图最简便的方式了吧,还是推荐大家去看下corrplor包的 文档 ,作者写的算是最详细的。
可以看到包内参数特别之多,但是都很容易理解,我们简单使用一下吧~
支持七种作图效果,分别是 "circle" (默认), "square", "ellipse", "number", "pie", "shade" and "color".
type参数控制只输出上三角或者下三角
内置了四种排序算法:AOE, FPC,hclust,alphabet
addrect = 2 根据层次聚类在图上绘制的矩形的数量,仅在排序方法为hclust时有效。如果为空(默认值),则不添加任何矩形。
利用cor.mtest函数基于原始数据计算相关性,并执行显著性检验。
除此之外:
设置insig = "p-value" 可将不显著的系数显示出数值
设置insig = "blank" 可将不显著的设置为空白
设置insig = "label_sig" 可将P值以 * 号方式展示出来, 通过设置sig.level = c(.001, .01, .05) 可以将不同范围内的p值用 * 来表示 ,如p值小于0.001的系数设置为三个 * 。
我们还可以自定义显著的系数标签
OK, 基本使用如上所述,更多参数自己摸索吧~~
R中输入?ggcorr查看参数使用, 也可看该包的 Documentation 或者 Github 进行学习。
通过设置low,mid,high可以设置为三色渐变。
另外,通过nbreaks参数,我们可以将颜色划分为多个范围值。
参考了这个 帖子 ,了解到我们输入 ggcorr(cormat)$data 其实可以查看内部相关性数据格式,有时候我们不太关注低相关性的系数,因此我们可以根据coefficient相关系数的那一列数据在相关性图中只显示出绝对值大于多少的系数,并用颜色区分是正相关还是负相关。
默认是方形
圆圈
<img src="https://gitee.com/kai_kai_he/PicGo/raw/master/imgage/image-20201005222129696.png" alt="image-20201005222129696" style="zoom:50%;" />
除了将不显著的相关系数标记为×号,也可以直接将其留白去除颜色。