ggcorrplot | 简单的相关性热图绘制

简介: ggcorrplot提供了一种对相关矩阵进行重新排序的解决方案,并在相关图上显示显著性水平。它还包括一个用于计算相关p值矩阵的函数。

安装和加载

install.packages("ggcorrplot")
library(ggcorrplot)

计算相关性矩阵

#以内置的mtcars数据集为例
data(mtcars)
#数据集格式如下

image.png

#cor()函数可以非常方便快捷的计算出连续变量之间的相关系数、
corr <- round(cor(mtcars), 1)
head(corr[, 1:6])
> head(corr[, 1:6])
      mpg  cyl disp   hp drat   wt
mpg   1.0 -0.9 -0.8 -0.8  0.7 -0.9
cyl  -0.9  1.0  0.9  0.8 -0.7  0.8
disp -0.8  0.9  1.0  0.8 -0.7  0.9
hp   -0.8  0.8  0.8  1.0 -0.4  0.7
drat  0.7 -0.7 -0.7 -0.4  1.0 -0.7
wt   -0.9  0.8  0.9  0.7 -0.7  1.0
#用ggcorrplot包提供的函数cor_pmat()计算p值
p.mat <- cor_pmat(mtcars)
head(p.mat[, 1:4])
> head(p.mat[, 1:4])
              mpg          cyl
mpg  0.000000e+00 6.112687e-10
cyl  6.112687e-10 0.000000e+00
disp 9.380327e-10 1.802838e-12
hp   1.787835e-07 3.477861e-09
drat 1.776240e-05 8.244636e-06
wt   1.293959e-10 1.217567e-07
             disp           hp
mpg  9.380327e-10 1.787835e-07
cyl  1.802838e-12 3.477861e-09
disp 0.000000e+00 7.142679e-08
hp   7.142679e-08 0.000000e+00
drat 5.282022e-06 9.988772e-03
wt   1.222320e-11 4.145827e-05

可视化相关性矩阵

ggcorrplot(corr)#method默认为square,即方形


image.png

# method = "circle" 圆形
ggcorrplot(corr, method = "circle")

image.png

#重排矩阵,使用分层聚类
ggcorrplot(corr, hc.order = TRUE, outline.color = "white")

image.png

#展示下半三角
ggcorrplot(corr,
           hc.order = TRUE,
           type = "lower",
           outline.color = "white")


image.png

#展示上半三角
ggcorrplot(corr,
           hc.order = TRUE,
           type = "upper",
           outline.color = "white")

image.png

#改变主题和颜色
ggcorrplot(
  corr,
  hc.order = TRUE,
  type = "lower",
  outline.color = "white",
  ggtheme = ggplot2::theme_gray,
  colors = c("#6D9EC1", "white", "#E46726")
)

image.png

#加上相关性系数标签
ggcorrplot(corr,
           hc.order = TRUE,
           type = "lower",
           lab = TRUE)


image.png

#给有显著性差异的标上记
ggcorrplot(corr,
           hc.order = TRUE,
           type = "lower",
           p.mat = p.mat)

image.png

#在没有显著系数的地方留空
ggcorrplot(
  corr,
  p.mat = p.mat,
  hc.order = TRUE,
  type = "lower",
  insig = "blank"
)


image.png

参考

https://rpkgs.datanovia.com/ggcorrplot/


相关文章
|
机器学习/深度学习
这图怎么画| 相关性热图+柱状图
这图怎么画| 相关性热图+柱状图
117 0
|
数据挖掘
跟着 Nature 学作图 | 相关性热图(显示相关性散点图)
跟着 Nature 学作图 | 相关性热图(显示相关性散点图)
336 0
|
1月前
|
数据可视化 数据挖掘 Python
绘制带误差分析的柱状图
【9月更文挑战第1天】在数据分析与科研中,带误差分析的柱状图能直观展示数据分布与不确定性。本文介绍使用Python的Matplotlib库和Excel绘制此类图表的方法,包括安装库、准备数据、绘制图表及添加误差线等步骤,帮助用户根据需求进行调整与定制。
|
2月前
|
缓存 算法 前端开发
热力图生成算法及其具体实现
热力图生成算法及其具体实现
43 0
|
5月前
|
数据可视化
绘制GGPLOT2双色XY区间面积图组合交叉折线图数据可视化
绘制GGPLOT2双色XY区间面积图组合交叉折线图数据可视化
|
5月前
|
机器学习/深度学习 数据可视化
如何在R语言中建立六边形矩阵热图heatmap可视化
如何在R语言中建立六边形矩阵热图heatmap可视化
|
数据挖掘 数据处理
这图怎么画| 还是热图(免疫治疗反应预测)
这图怎么画| 还是热图(免疫治疗反应预测)
72 0
|
数据可视化 数据挖掘 Linux
数据可视化丨优雅的绘制带显著性标记的箱线散点图,主要使用ggsignif和ggplot2
数据可视化丨优雅的绘制带显著性标记的箱线散点图,主要使用ggsignif和ggplot2
|
数据可视化 数据挖掘
热图的基础绘制(Matlab代码实现)
热图的基础绘制(Matlab代码实现)
238 0
|
数据可视化
R|散点图+边际图(柱形图,小提琴图),颜值区UP
R|散点图+边际图(柱形图,小提琴图),颜值区UP
142 0