美文网首页R小技巧
R相关性图如何按比例显示相关系数

R相关性图如何按比例显示相关系数

作者: 生信交流平台 | 来源:发表于2020-12-21 21:00 被阅读0次

今天偶然从一篇paper里看到了一张R绘制的相关性图,跟以往看到的有些不一样。这张图里面不仅展示了相关系数,并且相关系数显示的大小跟相关系数是成比例的。这样做的好处是,让那些最显著相关的一目了然,而那些不怎么相关的就不那么显眼。这个引起了小编的兴趣,想自己也画一张这样的相关性图。

说干就干,就拿mtcars这套数据来练练手。先来个简单的,由简入繁

#加载corrplot包
library(corrplot)
#计算相关系数矩阵
M <- cor(mtcars)
#绘制对称圆圈图,显示相关系数,大小都为1
corrplot(M, method = "circle",
         number.cex = 1,
         addCoef.col="black"
)

接下来尝试一下根据相关系数的大小来调节显示的字体大小

#根据相关系数的大小M来设置字体的大小
#因为M有正有负,这里用abs取绝对值
corrplot(M, method = "circle",
         number.cex = abs(M),
         addCoef.col="black"
         )

没想到这么容易就实现了,太没有挑战了。

不过文章中的相关性图是三角形的,接下来我们也来画一个三角形的图,胜利在望。

#设置type = "upper"就可以画出上三角
#设置成lower就可以画下三角
corrplot(M, method = "circle",
         type = "upper",
         number.cex = abs(M),
         addCoef.col="black"
)

高兴太早,翻车了!只画一半的时候,不能用完整的相关系数矩阵M来作为字体的大小,这样设置不对。

推测如果图像只画一半,相关系数应该也只用一半。那么这个相关系数的顺序如何确定呢?下面来做个测试

#一共有66个圆圈,先全部把大小设置成0.1,几乎看不到
#然后把前三个的大小改大一些,看看那几个系数的大小有变化,
#从而确定顺序
size=rep(0.1,66)
size[1]=1
size[2]=0.5
size[3]=1
corrplot(M, method = "circle",
         type = "upper",
         number.cex = size,
         addCoef.col="black"
)

被我发现了,是按列来排布的!如箭头所示的方向和顺序

接下来就是最终章了

#申明一个空变量来装size的大小
size=c()
#循环按列来获取相关系数,第一列取前一个,第二列取前两个
#依次类推
for(i in 1:ncol(M)){
  size=c(size,M[1:i,i])
}
size=as.numeric(size)
​
corrplot(M, method = "circle",
         type = "upper",
         number.cex = abs(size),
         addCoef.col="black"
)

大功告成了!!!

参考资料:
R相关性图如何按比例显示相关系数​

相关文章

  • R相关性图如何按比例显示相关系数

    今天偶然从一篇paper里看到了一张R绘制的相关性图,跟以往看到的有些不一样。这张图里面不仅展示了相关系数,并且相...

  • R 相关性分析

    R 相关性分析 1. 相关性矩阵计算: 加载mtcars数据 计算两两相关系数 计算矩阵相关系数 2. 相关系数的...

  • R 数据可视化 —— 相关系数图

    一、ggplot 相关系数图 前言 相关系数图是对相关系数矩阵进行可视化的,用于展示多组变量之间的相关性。 根据数...

  • python note

    准备 相关系数 热图 [x] annot: 是否显示相关系数 [x] fmt: 显示相关系数的格式,例如'.2f'...

  • 图片按比例缩放

    1.按比例缩放。 //按比例缩放,size是你要把图显示到 多大区域 ,例如:CGSizeMake(300, 40...

  • 使用corrplot包可视化相关性矩阵

    介绍 本文介绍如何绘制相关图中R.相关图是相关矩阵的图形。突出显示数据表中最相关的变量非常有用。在该图中,相关系数...

  • R: 相关系数

    ref:R画月亮阴晴圆缺:corrplot绘图相关系数矩阵 ref:R语言学习笔记之相关性矩阵分析及其可视化 - ...

  • 统计学-三大相关系数

    参考:1.ref12.微信:新年开工——相关性分析了解一下?成对数据的相关性分析流程: 计算相关系数,主要用R里的...

  • 如何做出相关系数矩阵可视化图

    如何在R中优雅地绘制相关系数矩阵

  • R languge correlation plot

    R语言关于相关性的热度图绘制

网友评论

    本文标题:R相关性图如何按比例显示相关系数

    本文链接:https://www.haomeiwen.com/subject/tshenktx.html