R语言相关系数矩阵图
时间: 2025-04-18 12:43:17 浏览: 35
### 创建相关系数矩阵图
#### 使用 `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]。
阅读全文
相关推荐



















