ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

R语言入门——相关性热图(建模常用一)

R语言入门——相关性热图(建模常用一) 目录0、引言绘制相关性热图1. 准备数据方法一corrplot 简洁相关热图方法二pheatmap 论文级热图最常用方法三ggplot2 绘制相关性热图tidyverse0、引言绘制相关性热图两种主流方案corrplot简单快速、pheatmap功能更强支持聚类、注释科研论文常用附带完整可运行代码。1. 准备数据# 内置mtcars演示数据集换成你的数据框即可data(mtcars)# 计算相关系数矩阵cor_mat-cor(mtcars,methodpearson)# method可选pearson / spearman / kendall方法一corrplot 简洁相关热图# 安装首次运行# install.packages(corrplot)library(corrplot)corrplot(cor_mat,methodcolor,# color色块, circle圆圈, square方块typeupper,# upper上三角 / lower下三角 / full全部colcolorRampPalette(c(#2166ac,white,#b2182b))(100),tl.colblack,# 标签文字颜色tl.srt45,# 标签旋转角度addCoef.colblack,# 是否显示相关系数NULL不显示number.cex0.7,# 相关系数字号diagFALSE# 是否展示对角线)## circle colorful numbercorrplot(cor_mat,orderAOE,typeupper,tl.posd,methodpie,tl.colblack)corrplot(cor_mat,addTRUE,typelower,methodnumber,orderAOE,diagFALSE,tl.posn,cl.posn,colblack)方法二pheatmap 论文级热图最常用支持行/列聚类、分组注释、自定义色阶。# install.packages(pheatmap)library(pheatmap)pheatmap(cor_mat,colorcolorRampPalette(c(#4575b4,white,#d73027))(100),display_numbersTRUE,# 是否显示相关系数number_colorblack,fontsize_number8,cluster_rowsTRUE,# 行聚类cluster_colsTRUE,# 列聚类show_rownamesTRUE,show_colnamesTRUE,treeheight_row20,treeheight_col20,mainCorrelation Heatmap)只画下三角/上三角pheatmap实现# 把上三角赋值为NA只显示下三角cor_mat_tri-cor_mat cor_mat_tri[upper.tri(cor_mat_tri)]-NApheatmap(cor_mat_tri,colorcolorRampPalette(c(#4575b4,white,#d73027))(100),display_numbersTRUE,na_colwhite# NA区域填充白色)方法三ggplot2 绘制相关性热图tidyverse适合需要完全自定义主题拼接ggplot图表。# install.packages(tidyverse)library(tidyverse)cor_mat%%as.data.frame()%%rownames_to_column(Var1)%%pivot_longer(-Var1,names_toVar2,values_tocorr)%%ggplot(aes(xVar1,yVar2,fillcorr))geom_tile()geom_text(aes(labelround(corr,2)),size2.5)scale_fill_gradient2(low#2166ac,midwhite,high#b2182b,limitsc(-1,1))theme_bw()theme(axis.text.xelement_text(angle45,hjust1))labs(fillCorrelation)
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进