查看原文
其他

ggcorrplot包可视化相关性矩阵的详细教程

段小麻 R语言统计与绘图 2023-09-03

在前面的推文中,我们学习了corrplot包可视化相关性矩阵,今天来学习下ggcorrplot包是怎么可视化相关性矩阵的。

与corrplot包相比,ggcorrplot包可视化相关性矩阵的参数差不多一样,但是绘制图形更加美观。

1. 安装和加载R包

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

2. 加载数据集

演示数据集还是选择mtcars数据集,先加载数据集,简单看下数据集的结构和信息。

data(mtcars) # 加载数据集
head(mtcars) # 查看数据集前六行

3. 数据集处理

3.1 计算相关性系数

corr <- round(cor(mtcars), 2# 计算相关性系数,并保留两位小数
corr # 查看结果

3.2 计算相关性矩阵的p值

可以使用cor_pmat()函数来计算相关性矩阵的P值。

p.mat <- cor_pmat(mtcars) # 计算相关性矩阵的P值
p.mat # 查看结果

4. 简单绘制图形

在前面计算好各种数值后,就可以开始绘制图形了。

ggcorrplot(corr) # 简单绘制

如上图所示,一行代码就简单可视化了相关性矩阵。

还是跟前面一样,红色表示正相关,紫色表示负相关,颜色的深浅跟相关性系数成正比。

下面我们来自定义参数绘制复杂的图形。

5. 自定义参数

5.1 可视化矩阵的方法

在corrplot包中,可视化相关性矩阵的方法有几个,但是在ggcorrplot包中只有两个,可以是设置method = "square"或"circle"来调整可视化矩阵的方法。

# 可视化方法默认为"square",因此我们看看"circle"是什么样的。
ggcorrplot(corr, method = "circle")

5.2 相关性矩阵排序

可以使用hclust函数对相关性矩阵进行层次聚类排序。

ggcorrplot(corr, hc.order = TRUE# 设置层次聚类排序
           outline.color = "white"

5.3 相关性矩阵布局类型

# 绘制下三角矩阵
ggcorrplot(corr, # 绘图数据
           hc.order = TRUE
           type = "lower"# 设置下三角展示
           outline.color = "white" # 设置方形轮廓颜色
)
# 绘制上三角矩阵
ggcorrplot(corr,
           hc.order = TRUE
           type = "upper"# 设置上三角展示
           outline.color = "white" # 设置方形轮廓颜色
)

5.4 调整颜色和主题

包中可选的主题有theme_gray、theme_bw、theme_minimal、theme_classic、theme_void、theme_classic()等。

ggcorrplot(corr,
           hc.order = TRUE
           type = "lower"# 设置下三角矩阵显示
           outline.color = "white"# 设置方形轮廓颜色
           ggtheme = ggplot2::theme_gray, # 设置图形主题
           colors = c("#6D9EC1""white""#E46726"# 设置矩阵颜色
)

theme_gray换成theme_bw

theme_gray换成theme_classic()

5.5 添加相关性系数

# 设置参数lab = TRUE,添加相关性系数
ggcorrplot(corr,
           hc.order = TRUE, type = "lower",
           lab = TRUE,
           ggtheme = ggplot2::theme_dark(),
)

5.6 添加相关性显著水平

# 设置参数p.mat,不显示无意义的相关性系数
ggcorrplot(corr,
           hc.order = TRUE,
           type = "lower", p.mat = p.mat)
# 设置insig = "blank",擦除无意义的相关性系数
ggcorrplot(corr,
           p.mat = p.mat, hc.order = TRUE,
           type = "lower", insig = "blank")

5.7 调整小数位数

ggcorrplot(cor(mtcars), 
           type = "lower",
           insig = "blank",
           lab = TRUE,
           digits = 3# 默认小数位数为2位

5.8 设置图例属性

ggcorrplot(corr,
           show.legend = F # 不显示图例
)
ggcorrplot(corr,
           show.legend = T# 默认显示图例
           legend.title = "图例标题" # 设置图例标题
)

参考资料

  1. ggcorrplot包帮助文件

关注下方公众号,分享更多更好玩的R语言知识。
点个在看,SCI马上发表。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存