news 2026/8/28 13:48:59

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
R语言入门——相关性热图(建模常用一)

目录

  • 0、引言(绘制相关性热图)
  • 1. 准备数据
  • 方法一:corrplot 简洁相关热图
  • 方法二:pheatmap 论文级热图(最常用)
  • 方法三:ggplot2 绘制相关性热图(tidyverse)

0、引言(绘制相关性热图)

两种主流方案:corrplot(简单快速)、pheatmap(功能更强,支持聚类、注释,科研论文常用),附带完整可运行代码。

1. 准备数据

# 内置mtcars演示数据集,换成你的数据框即可data(mtcars)# 计算相关系数矩阵cor_mat<-cor(mtcars,method="pearson")# method可选:pearson / spearman / kendall


方法一:corrplot 简洁相关热图

# 安装(首次运行)# install.packages("corrplot")library(corrplot)corrplot(cor_mat,method="color",# color色块, circle圆圈, square方块type="upper",# upper上三角 / lower下三角 / full全部col=colorRampPalette(c("#2166ac","white","#b2182b"))(100),tl.col="black",# 标签文字颜色tl.srt=45,# 标签旋转角度addCoef.col="black",# 是否显示相关系数,NULL不显示number.cex=0.7,# 相关系数字号diag=FALSE# 是否展示对角线)

## circle + colorful numbercorrplot(cor_mat,order='AOE',type='upper',tl.pos='d',method='pie',tl.col="black")corrplot(cor_mat,add=TRUE,type='lower',method='number',order='AOE',diag=FALSE,tl.pos='n',cl.pos='n',col='black')

方法二:pheatmap 论文级热图(最常用)

支持行/列聚类、分组注释、自定义色阶。

# install.packages("pheatmap")library(pheatmap)pheatmap(cor_mat,color=colorRampPalette(c("#4575b4","white","#d73027"))(100),display_numbers=TRUE,# 是否显示相关系数number_color="black",fontsize_number=8,cluster_rows=TRUE,# 行聚类cluster_cols=TRUE,# 列聚类show_rownames=TRUE,show_colnames=TRUE,treeheight_row=20,treeheight_col=20,main="Correlation Heatmap")

只画下三角/上三角(pheatmap实现)

# 把上三角赋值为NA,只显示下三角cor_mat_tri<-cor_mat cor_mat_tri[upper.tri(cor_mat_tri)]<-NApheatmap(cor_mat_tri,color=colorRampPalette(c("#4575b4","white","#d73027"))(100),display_numbers=TRUE,na_col="white"# NA区域填充白色)


方法三:ggplot2 绘制相关性热图(tidyverse)

适合需要完全自定义主题,拼接ggplot图表。

# install.packages("tidyverse")library(tidyverse)cor_mat%>%as.data.frame()%>%rownames_to_column("Var1")%>%pivot_longer(-Var1,names_to="Var2",values_to="corr")%>%ggplot(aes(x=Var1,y=Var2,fill=corr))+geom_tile()+geom_text(aes(label=round(corr,2)),size=2.5)+scale_fill_gradient2(low="#2166ac",mid="white",high="#b2182b",limits=c(-1,1))+theme_bw()+theme(axis.text.x=element_text(angle=45,hjust=1))+labs(fill="Correlation")


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/28 13:46:33

本地部署私人AI助手:从模型选型到API调用完整指南

这次我们来看一个非常特殊的“项目”&#xff1a;一个人手动为妻子搭建的私人 AI 助手。它不是一个开源框架&#xff0c;也不是一个商业产品&#xff0c;而是把本地大模型、工具调用、WebUI 和 API 服务组合起来&#xff0c;做成一套只有家人能用的私有助手。 这类需求在本地部…

作者头像 李华
网站建设 2026/8/28 13:43:24

虚拟机调优的数据与指标准备

虚拟机调优的数据与指标准备在进行 JVM 堆内存配置与垃圾回收器&#xff08;GC&#xff09;参数调优时&#xff0c;盲目套用通用模板往往难以达到预期效果。不同业务系统的内存分配速率&#xff08;Allocation Rate&#xff09;、对象生命周期分布以及吞吐量要求存在显著差异。…

作者头像 李华
网站建设 2026/8/28 13:43:12

从零构建服装图像分类系统:基于Fashion-MNIST的深度学习全流程实战

简介&#xff1a;图像分类是计算机视觉领域的核心任务&#xff0c;其原理在于让计算机通过学习图像特征&#xff0c;自动识别并归类视觉对象。卷积神经网络&#xff08;CNN&#xff09;是实现这一目标的关键技术&#xff0c;它通过卷积、池化等操作自动提取图像的层次化特征&am…

作者头像 李华
网站建设 2026/8/28 13:43:04

深入解析Segment Anything Model:从源码结构到实战微调

简介&#xff1a;图像分割是计算机视觉的基础任务&#xff0c;旨在将图像划分为具有特定意义的区域。其核心原理在于让模型理解像素间的语义关联&#xff0c;从而区分不同物体或区域。这项技术的价值在于为图像理解、自动驾驶、医学影像分析等下游应用提供精确的像素级感知能力…

作者头像 李华
网站建设 2026/8/28 13:41:29

c++面经整理

1. huawei 2、epoll优点 3、epoll和select的区别 4、介绍背包问题的原理 5、问为什么笔试中的第xxx题没有写出来&#xff0c;现在知不知道怎么解决 6、介绍进程间通信的方法 7、堆、栈的区别 8、pthread_create、join()作用 9、预处理、编译、汇编、链接 10、计算结构…

作者头像 李华