R语言——相关系数矩阵可视化(大全)

相关系数分析在很多领域都有涉及,而可视化则是对其结果最好的体现。不过我的能力有限,目前的水平也仅整合了3个包。欢迎大家指导评价。

1、 corrplot包

获取数据及相关性分析。

coo <- read.csv("相关系数5.csv",header = T)
head(coo)
res <- cor(coo)
res

R包实现。

library(corrplot)
corrplot(res)
corrplot(res,method="shade",shade.col=NA,tl.col="black",tl.srt=45) #阴影图
corrplot(res,method="circle",shade.col=NA,tl.col="black",tl.srt=45) #圆  默认也是圆
corrplot(res,method="pie",shade.col=NA,tl.col="black",tl.srt=45)  #饼图
corrplot(res,method="square",shade.col=NA,tl.col="black",tl.srt=45) #方形
corrplot(res,method="ellipse",shade.col=NA,tl.col="black",tl.srt=45) #椭圆
corrplot(res, method="number",shade.col=NA,tl.col="black",tl.srt=45)#数字
corrplot(res,method="color",shade.col=NA,tl.col="black",tl.srt=45) #颜色
corrplot(res, type = "upper", order = "hclust", tl.col = "black", tl.srt = 45)  #上三角
corrplot.mixed(res) #图形和数值混合矩阵
corrplot.mixed(res, lower.col = "black", number.cex = .7)#文字看不清,可以设置文字为黑色和大小
### 创建相关系数矩阵图 #### 使用 `corrgram` 绘制相关性可视化图 为了实现相关性的图形化展示,可以采用 `corrgram` 中的 `corrgram()` 函数来完成这一目标。此函数能够有效地帮助理解变量间的关联程度,并提供多种配置选项用于定制输出图像[^2]。 ```r library(corrgram) # 假设 mtcars 是要分析的数据集 data(mtcars) corrgram(mtcars, order=TRUE, lower.panel=panel.shade, upper.panel=NULL, text.panel=panel.txt) ``` 上述代码片段展示了如何加载数据并用 `corrgram()` 来生成带有阴影效果的下半部分的相关性图表;同时关闭了上半部面板显示以专注于下三角形区域内的关系表达。 #### 利用 `corrplot` 进行更灵活的相关系数图制作 对于希望进一步自定义样式的需求来说,则推荐使用 `corrplot` 库。该库提供了更为丰富的参数设定可能性,允许指定不同的颜色方案、标签位置以及最重要的——选择仅呈现完整的(full),或是单独的上下三角形式(lower 或 upper)[^3] 的相关矩阵视图: ```r library(corrplot) corMat <- cor(mtcars) # 计算mtcars数据集中各列之间的皮尔逊相关系数形成矩阵 corrplot(corMat, method="circle", type="lower") # 此处method指定了绘图的方式为圆形标记法,type则限定了只画出下三角区的内容 ``` 这段脚本先计算了一个基于给定数据框内所有数值型字段间两两比较所得的结果作为输入传递给了 `corrplot()` 方法,在其中设置了特定的方法(method)和类型(type)属性以便更好地满足实际应用场景下的需求。 #### 结合层次聚类整顺序 当涉及到探索潜在结构或模式时,可以通过应用分层聚类算法(hierarchical clustering algorithm) 对原始的相关矩阵进行重排处理,从而使得相似度较高的项目聚集在一起,这有助于揭示数据内部可能存在的群组特性[^1]。 ```r library(gplots) rcorr.adjusted <- reorder.hclust(abs(corMat), distfun=function(x) as.dist(1-x)) heatmap.2(rcorr.adjusted, col=colorRampPalette(rev(brewer.pal(n=7, name='RdYlBu')))(50), tracecol="transparent", density.info="none", margins=c(9,9), cexRow=.6, cexCol=.6, key=FALSE, symm=TRUE) ``` 这里首先通过绝对值转换后的相关系数构建距离度量标准,并以此为基础执行层次聚类操作(`reorder.hclust`) 。之后借助于增强版热图工具 (`heatmap.2`) 展现经过优化排列的新版本矩阵,期间还特别挑选了一套适合表现正负相关的色彩渐变序列(color ramp palette) ,最终得到一张既美观又富含信息量的关系映射图谱[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值