R语言如何绘制相关性热图(14)

news/2024/11/26 5:35:28/

1.什么是相关性热图?

相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析。

当两个变量之间存在非常强烈的相互依赖关系的时候,我们就可以说两个变量之间存在高度相关性。若两组的值一起增大,我们称之为正相关,若一组的值增大时,另一组的值减小,我们称之为负相关。

默认一般使用皮尔逊算法算相关性。皮尔逊相关系数广泛用于度量两个变量之间的相关程度,其值介于-1与1之间。

计算完相关性后,我们通过热图做可视化。热图(heatmap)是一种将规则化矩阵数据转换成颜色色调的常用的可视化方法,其中每个单元格对应数据的某些属性,属性的值通过颜色映射转换为不同色调并按规则填充单元格。
在这里插入图片描述

本文我们就来讨论一下相关性热图是如何绘制的以及如何对其进行解读。

2.绘图前的数据准备

​ demo数据可以在https://www.bioladder.cn/shiny/zyp/bioladder2/demoData/Cor/demo.txt下载。

包含2个维度的数据,通常情况下每一行代表一个基因,每一列代表一个样本。
在这里插入图片描述

3. R语言怎么画相关性热图

# 加载R包,没有安装请先安装  install.packages("包名") 
library(pheatmap)# 读取相关性热图数据文件
df= read.delim("https://www.bioladder.cn/shiny/zyp/bioladder2/demoData/Cor/demo.txt",# 这里读取了网络上的demo数据,将此处换成你自己电脑里的文件header = T,row.names = 1)   # 计算相关性
r <- cor(df,method = "pearson") # 计算相关性的方法有"pearson", "spearman", "kendall"# 绘制热图
pheatmap(r, show_colnames = TRUE,   # 是否显示列名show_rownames=TRUE,     # 是否显示行名fontsize=5,             # 字体大小color = colorRampPalette(c('#0000ff','#ffffff','#ff0000'))(50), # 指定热图的颜色annotation_legend=TRUE, # 是否显示图例border_color=NA,        # 边框颜色 NA表示没有scale="none",           # 指定归一化的方式。"row"按行归一化,"column"按列归一化,"none"不处理cluster_rows = TRUE,    # 是否对行聚类cluster_cols = TRUE     # 是否对列聚类
)# 更多参数可以输入 ?pheatmap 查看

4. BioLadder生信云平台在线绘制相关性热图

不想写代码?可以用BioLadder生信云平台在线绘制相关性热图。

网址:https://www.bioladder.cn/web/#/chart/3
在这里插入图片描述

5. 相关性热图结果解读

img

如图,就是一副组学研究中热图的常用绘制模式,每个小方格表示每个样本之间的相关系数,其颜色表示相关性大小,相关性越大颜色越深。聚类树形图表示对来自不同实验分组的不同样品的聚类分析结果。如果不聚类,排序将保持文件数据的默认方式。


http://www.ppmy.cn/news/166928.html

相关文章

Dell Inspiron 14R-N4041笔记本硬盘损坏更换手记

&#xfeff;&#xfeff; DellInspiron 14R-N4041笔记本硬盘损坏更换手记 作者&#xff1a;半点闲 时间&#xff1a;2015-4-12 16:49 博客&#xff1a;blog.csdn.net/cg_i 邮箱&#xff1a;b_dxsohu.com 前言 我已经受够了一场战争&#xff0c;更别提再来一场了。 ——托马斯.…

戴尔 14R 7420 i5 黑苹果折腾记录

记一次黑苹果折腾记录 事先说明&#xff0c;我并不是很懂&#xff0c;只是分享我踩过的坑和解决办法&#xff0c;只能保证和我相同的配置能实现和我一样的成果。 笔记本配置 屏幕 14英寸 分辨率 1600x900 CPU型号 Intel 酷睿i5 3230M 核心/线程数 双核心/四线程 CPU主频 2.6…

1104 Sum of Number Segments (PAT甲级)

这道题要考虑到精度&#xff0c;参考了1104. Sum of Number Segments (20)-PAT甲级真题 – 柳婼 の blog上面的分析。有一个细节&#xff0c;代码第11行&#xff0c;(t * 1000) * (i 1) * (N - i) 需要把t * 1000放在最前面&#xff0c;不然(i 1) * (N - i) 有可能溢出。 #i…

1161 Merging Linked Lists(40行代码+超详细注释+测试点34分析)

分数 25 全屏浏览题目 切换布局 作者 陈越 单位 浙江大学 Given two singly linked lists L1​a1​→a2​→⋯→an−1​→an​ and L2​b1​→b2​→⋯→bm−1​→bm​. If n≥2m, you are supposed to reverse and merge the shorter one into the longer one to obtain …

测试4年,费时8个月,入职阿里,涨薪14K,可算是熬出头了····

前言 你的努力&#xff0c;终将成就无可替代的自己 本科毕业后就一直从事测试的工作&#xff0c;和多数人一样&#xff0c;最开始从事功能测试&#xff08;所谓的点点点&#xff09;的工作&#xff0c;看着自己的同学一步一步往上走&#xff0c;自己还是在原地踏步&#xff0c;…

Juce音频算法demo

用juce 平台写一个声卡进直接声卡出的demo 程序&#xff1f; &#xfffc; 2023/6/2 以下是在JUCE平台上实现声卡输入直接输出的示例代码和步骤&#xff1a; 步骤 1: 创建一个新的JUCE项目 首先&#xff0c;您需要创建一个新的JUCE项目并设置其最小配置。您可以使用Projucer…

Arduino软件+ ESP8266 MCU开发项目之一键式配网操作(有掉电保护),可继续开发成为--WIFI放大器项目。

下载本次ESP8266 MCU开发项目之一键式配网 代码文件 (11条消息) 配网ESP8266MUC.rar资源-CSDN文库 流程图讲解 视频展示效果 配网ESP8266 项目可待 改进/升级 的地方 1&#xff1a;配网流程UI界面单调&#xff0c;可搭配复杂UI配网界面 2&#xff1a;配网流程可看作是WIFI放…

ffmpeg之AVFrame结构体详细解释

AVFrame 结构体是 FFmpeg 中用于描述媒体数据帧&#xff08;视频、音频等&#xff09;的结构体。它包含了媒体数据帧的各种参数和数据信息&#xff0c;是进行媒体数据的编解码和处理的必要元素。下面是关于 AVFrame 结构体的详细介绍&#xff0c;同时也给出一个简单的代码示例。…