糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > r语言聚类分析_技术贴 | R语言pheatmap聚类分析和热图

r语言聚类分析_技术贴 | R语言pheatmap聚类分析和热图

时间:2022-05-05 05:01:12

相关推荐

r语言聚类分析_技术贴 | R语言pheatmap聚类分析和热图

点击蓝字↑↑↑“微生态”,轻松关注不迷路

本文由阿童木根据实践经验而整理,希望对大家有帮助。

原创微文,欢迎转发转载。

导读

pheatmap默认会对输入矩阵数据的行和列同时进行聚类,但是也可以通过布尔型参数cluster_rows和cluster_cols设置是否对行或列进行聚类,具体看分析需求。利用display_numbers参数可以在热图中的每个cell中填入想要的信息,例如相对丰度信息。利用cutree_rows和cutree_cols参数可以根据聚类产生的tree信息对热图进行分割。本文将先模拟输入矩阵数据,然后再展示这些参数的具体使用方法。

一、模拟输入矩阵

set.seed(1995)

# 随机种子

data=matrix(abs(round(rnorm(200, mean=1000, sd=500))), 20, 10)

# 随机正整数,20行,20列

colnames(data)=paste("Species", 1:10, sep=".")

# 列名-细菌

rownames(data)=paste("Sample", 1:20, sep=".")

# 行名-样品

data_norm=data

for(i in 1:20){

sample_sum=apply(data, 1, sum)

for(j in 1:10){

data_norm[i,j]=data[i,j]/sample_sum[i]

}

}

# 标准化

data_norm

# 模拟完成的标准化矩阵数据如下:

二、聚类分析和热图

1. 画热图

library(pheatmap)

# 加载pheatmap包

pheatmap(data_norm)

# 绘制热图,结果如下:

2. 在cell中添加丰度

方法:

display_numbers=TRUE:使用默认矩阵数据。

pheatmap(data_norm, display_numbers=TRUE)

# 绘制热图,结果如下:

3. 根据tree将热图分割成2行3列

方法:

cutree_rows=num:分割行

cutree_cols=num:分割列

pheatmap(data_norm, cutree_rows=2, cutree_cols=3)

# 绘制热图,结果如下:

感谢阅读~

你可能还喜欢

1技术贴 | 16S专题 | 简单介绍如何用自己的笔记本处理高通量16S数据

2 技术贴 | 宏基因组专题 | 组装工具盘点和比较

3 技术贴 | R语言菌群Alpha多样性分析和绘图

4技术贴 | 宏转录组专题 | DDBJ数据库:宏转录组测序数据下载

微生态科研学术群期待与您交流更多微生态科研问题

(联系微生态老师即可申请入群)

了解更多菌群知识,请关注“微生态”。

如果觉得《r语言聚类分析_技术贴 | R语言pheatmap聚类分析和热图》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。