Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >pheatmap带你轻松绘制聚类相关性热图

pheatmap带你轻松绘制聚类相关性热图

作者头像
R语言数据分析指南
发布于 2023-06-22 22:58:03
发布于 2023-06-22 22:58:03
2K0
举报

欢迎关注R语言数据分析指南

最近有朋友询问如何使用pheatmap绘制相关性热图,小编之前已经写过各种ggplot2风格的热图,但是对于pheatmap却是很少涉及,这一节就来介绍一下pheatmap绘制相关性热图,希望各位观众老爷能够喜欢。数据+代码已经上传2023VIP群,加群的观众老爷请自行下载

关注下方公众号下回更新不迷路

加载R包

代码语言:text
AI代码解释
复制
library(tidyverse)
library(psych)
library(pheatmap)
library(magrittr)
# devtools::install_github("thomasp85/scico")
library(scico)

导入数据

代码语言:text
AI代码解释
复制
# 读取环境数据文件并存储到env变量中,使用tab作为分隔符,第一列作为行名,不检查列名的合法性
env <- read.delim("env.xls", header = TRUE, sep = "\t", row.names = 1, check.names = FALSE)

# 读取物种数据文件并存储到genus变量中,使用tab作为分隔符,第一列作为行名,不检查列名的合法性
genus <- read.delim("genus.xls", header = TRUE, sep = "\t", row.names = 1, check.names = FALSE) %>%
  t() %>% as.data.frame()

相关性分析

代码语言:txt
AI代码解释
复制
# 使用pearson方法计算环境数据和物种数据之间的相关系数和p-value,并进行多重比较法的FDR校正
pp <- corr.test(env, genus, method = "pearson", adjust = "fdr")
cor <- pp$r # 获取相关系数矩阵
pvalue <- pp$p # 获取p-value矩阵

数据整合

代码语言:txt
AI代码解释
复制
# 将相关系数矩阵转换为长格式,并添加p-value和显著性符号列
df <- melt(cor) %>% 
  mutate(pvalue = melt(pvalue)[, 3],
         p_signif = symnum(pvalue, corr = FALSE, na = FALSE,  
                           cutpoints = c(0, 0.001, 0.01, 0.05, 0.1, 1), 
                           symbols = c("***", "**", "*", "", " "))) %>% 
  set_colnames(c("env", "genus", "r", "p", "p_signif"))

格式转换

由于后面我们需要使用pheatmap绘图,因此在此需要将长数据转换为宽表

代码语言:txt
AI代码解释
复制
#将相关系数矩阵转换为宽格式,行名为环境变量,列名为物种,值为相关系数
rvalue <- df %>% 
  select(1, 2, 3) %>% 
  pivot_wider(names_from = "genus", values_from = r) %>% 
  column_to_rownames(var = "env")

# 将显著性符号矩阵转换为宽格式,行名为环境变量,列名为物种,值为显著性符号
pvalue <- df %>% 
  select(1, 2, 5) %>% 
  pivot_wider(names_from = "genus", values_from = p_signif) %>% 
  column_to_rownames(var = "env")

定义颜色

在此使用昨天介绍的scico包制作一个调色板

代码语言:text
AI代码解释
复制
mycol <- scico(100, palette = "vik")

pheatmap绘制热图

代码语言:text
AI代码解释
复制
# 绘制热图,显示相关系数,行列聚类,无边框,显示p-value作为数字,设置数字字体大小和颜色
# 设置主标题为空格,设置单元格宽度和高度,使用自定义颜色映射
pheatmap(rvalue, scale = "none", cluster_row = TRUE, cluster_col = TRUE, border = NA,
         display_numbers = pvalue, fontsize_number = 12, number_color = "white",
         main = " ",
         cellwidth = 21, cellheight = 20, color = mycol)

有需要学习个性化数据可视化的朋友,欢迎到小编的淘宝店铺 R语言数据分析指南购买2023年度会员文档同步更新中 初始价格99元6月后将调整价格为149元,内容主要包括各种高分论文的图表分析复现以及一些个性化图表的绘制均包含数据+代码;按照往年数据小编年产出约在150+以上

购买后微信发小编订单截图即邀请进新的会员交流群,小编的文档为按年售卖,只包含当年度的除系列课程外的文档,有需要往年文档的朋友也可下单购买,需要了解更多信息的朋友欢迎交流咨询。

2023会员群精彩内容

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
pheatmap带你轻松绘制聚类相关性热图
R语言数据分析指南
2023/08/18
1.6K0
pheatmap带你轻松绘制聚类相关性热图
Claude vs DeepSeek:相关性分析与“星号”标记热图的高效绘制
相关性分析是揭示变量间联系的基础,本文通过大型语言模型(LLM),Claude和DeepSeek进行相关性分析并绘制显著性星号标记的热图。
天意生信云
2025/04/26
590
Claude vs DeepSeek:相关性分析与“星号”标记热图的高效绘制
使用corrplot包绘制相关性图及美化!
R语言的corrplot包提供了一种可视化相关矩阵的探索性工具,支持自动变量重排序以帮助发现变量间的隐藏模式。
生信医道
2025/04/08
2040
使用corrplot包绘制相关性图及美化!
图表复现再谈个性化热图绘制
R语言数据分析指南
2023/08/18
2010
图表复现再谈个性化热图绘制
浅谈R中相关性网络热图绘制小细节
❝最近在绘制相关性网络热图的时候突然有一个小的发现,可以使用相关性热图的数据来结合「linkET」来绘图,以前一直认为为必须使用「mantel_test」才行;果然绘图还得多思考;本节就来通过一个案例将两份数据结合起来进行绘图;
R语言数据分析指南
2022/12/20
3K2
浅谈R中相关性网络热图绘制小细节
ggplot2绘制多图层相关性热图
R语言数据分析指南
2023/10/24
8530
ggplot2绘制多图层相关性热图
[Microbiome图表复现] 常规热图添加一些新元素
R语言数据分析指南
2023/11/30
3650
[Microbiome图表复现] 常规热图添加一些新元素
ggplot2优雅绘制相关性网络热图(批量修改字符)
R语言数据分析指南
2024/07/02
3220
ggplot2优雅绘制相关性网络热图(批量修改字符)
ggpolt2构建差异基因热图
R语言数据分析指南
2023/10/17
3240
ggpolt2构建差异基因热图
你没见过的两种高颜值单细胞亚群相关性热图
文献标题为:《Immunophenotyping of COVID-19 and influenza highlights the role oftype I interferons in development of severe COVID-19》,于2020年7月份发表在杂志 Sci Immunol上。
生信技能树
2025/01/09
5310
你没见过的两种高颜值单细胞亚群相关性热图
「R」数据可视化13 : 相关性图
在生物信息领域我们常常使用R语言对数据可视化。在对数据可视化的时候,我们需要明确想要展示的信息,从而选择最为合适的图突出该信息。本系列文章将介绍多种基于不同R包的作图方法,希望能够帮助到各位读者。
王诗翔呀
2020/07/06
2.8K0
「R」数据可视化13 : 相关性图
ggplot2优雅绘制对角线热图
R语言数据分析指南
2024/04/28
3810
ggplot2优雅绘制对角线热图
相关性热图、圈图、弦图(笔记)
如下所示,可以看到有多个样品,每个样品都有多个基因表达量,这个时候我们比较关心的是这些基因的表达量相关性(在多个样品),基因与基因之间有两两组合相关性:
生信技能树
2023/02/27
2.7K0
相关性热图、圈图、弦图(笔记)
R自定义构建函数绘制相关性条形图
构建好绘图函数后让我们来进行可视化的操作,由于原始数据较多在此我们筛选一部分数据进行可视化操作
R语言数据分析指南
2022/09/21
4520
R自定义构建函数绘制相关性条形图
ggcor |相关系数矩阵可视化
相关系数矩阵可视化已经至少有两个版本的实现了,魏太云基于base绘图系统写了corrplot包,应该说是相关这个小领域中最精美的包了,使用简单,样式丰富,只能用惊艳来形容。Kassambara的ggcorrplot基于ggplot2重写了corrplot,实现了corrplot中绝大多数的功能,但仅支持“square”和“circle”的绘图标记,样式有些单调,不过整个ggcorrplot包的代码大概300行,想学习用ggplot2来自定义绘图函数,看这个包的源代码很不错。还有部分功能相似的corrr包(在写ggcor之前完全没有看过这个包,写完之后发现在相关系数矩阵变data.frame方面惊人的相似),这个包主要在数据相关系数提取、转换上做了很多的工作,在可视化上稍显不足。ggcor的核心是为相关性分析、数据提取、转换、可视化提供一整套解决方案,目前的功能大概完成了70%,后续会根据实际需要继续扩展。
生信宝典
2019/11/07
8K3
ggcor |相关系数矩阵可视化
用 ComplexHeatmap 包绘制复杂热图
在 ComplexHeatmap 中单个热图由热图主体和热图组件组成。热图主体可按行或列进行拆分。热图组件包括标题,进化树,矩阵名称和热图注释,可分别放置于热图主体的四个侧面上,这些组件也可根据热图主体的顺序进行重新排序或拆分。
生信菜鸟团
2021/01/18
7.5K0
用 ComplexHeatmap 包绘制复杂热图
R 相关性分析
R 相关性分析 1. 相关性矩阵计算: 加载mtcars数据 > setwd("E:\\Rwork") > data("mtcars") > head(mtcars) mpg cyl disp hp drat wt qsec vs am gear carb Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4 Wag 21.0 6 160 11
用户1359560
2018/08/27
1.3K0
R 相关性分析
R中绘制环状聚类热图
R语言数据分析指南
2023/11/16
4690
R中绘制环状聚类热图
scatterpie绘制气泡饼图及corrplot绘制相关性图
回顾之前我们介绍的BIB发表的工作:人类致癌通路的全面综述,文章中的绘图都很漂亮,小编发现文中主要的数据展示的绘图方法有饼图、堆积条形图、网络图、热图、箱式图、翻转条形图,都是一些比较常见的绘图方法,但是因作者比较善用配色,绘制的图形就看起来比较高级。吸引小编的是一组“饼图矩阵”,如下所示:
作图丫
2022/03/29
2.6K0
scatterpie绘制气泡饼图及corrplot绘制相关性图
文献配套GitHub发表级别绘图04-相关性散点图
文章来源:"Preoperative immune landscape predisposes adverse outcomes in hepatocellular carcinoma patients with liver transplantation" (2021,npj Precision Oncology),数据与代码全部公开在https://github.com/sangho1130/KOR_HCC。
生信技能树
2022/03/03
1.2K0
文献配套GitHub发表级别绘图04-相关性散点图
相关推荐
pheatmap带你轻松绘制聚类相关性热图
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档