查看原文
其他

基于R语言的微生物群落组成多样性分析——物种丰度可视化之热图(Heatmap)

王志山 科研后花园 2023-09-08


引言



     上一期内容我们介绍了基于R语言对微生物丰度进行计算并进行可视化,今天这期内容主要介绍如何使用热图(Heatmap)来展示物种丰度的计算结果!



正文——代码
1

工作目录设置及R包的加载





rm(list=ls())#clear Global Environmentsetwd('D:\\桌面\\物种丰度计算及可视化')#设置工作路径#安装包install.packages("pheatmap")#加载R包library (pheatmap)


2

读取数据





df1 <- read.table(file="Genus.txt",sep="\t",header=T,check.names=FALSE)head(df1)




3

数据处理





##利用循环处理具有重复的数据data<-aggregate(E ~ Tax,data=df1,sum)colnames(data)[2]<-"example"for (i in colnames(df1)[2:length(colnames(df1))]){ #计算每列的和 data1<-aggregate(df1[,i]~Tax,data=df1,sum) colnames(data1)[2]<-i #合并列 data<-merge(data,data1,by="Tax")}df2<-data[,-2]rownames(df2)=df2$Tax#修改行名df3=df2[,-1]#删除多的列
#计算物种总丰度并降序排列df3$rowsum <- apply(df3,1,sum)df4 <- df3[order (df3$rowsum,decreasing=TRUE),]df5 = df4[,-6]#删除求和列#求物种相对丰度df6 <- apply(df5,2,function(x) x/sum(x))#取前10行df7 <- df6[1:10,]df8 <- 1-apply(df7, 2, sum) #计算剩下物种的总丰度#合并数据df9 <- rbind(df7,df8)row.names(df9)[11]="Others"#导出数据write.table (df9, file ="genus_x.csv",sep =",", quote =FALSE)


4

绘图





# 行列注释信息annotation_col = data.frame( g1 = c("a","a","b","c","c"))#行注释矩阵rownames(annotation_col) = colnames(df9)annotation_row = data.frame( g2 = factor(rep(c("c", "d", "e"), c(3, 4, 4))))#列注释矩阵rownames(annotation_row) = rownames(df9)#分组颜色colors = list(g1 = c(a = "#1B9E77", b = "#D95F02",c = "red"), g2 = c( c= "blue", d = "#E7298A", e = "#66A61E"))#绘图pheatmap(df9, display_numbers = matrix(ifelse(df9 > 0.5, "*", ""), nrow(df9)), #设置条件并进行展示         annotation_col = annotation_col, annotation_row = annotation_row, #加入行列注释信息         annotation_colors = colors, #行列注释颜色设置 angle_col = "45", #行标签倾斜角度 cellwidth=25, cellheight=15, #格子大小 cluster_rows=F, treeheight_col = 15, #树的高度         legend_breaks=c(0,0.2,0.4,0.6,0.8) #图注标签展示 )




5

使用AI进行图形美化







源码及数据在后台回复“Heatmap”获取!!!



欢迎大家点赞、转发并点亮在看,让更多朋友看到!!!

更多推荐

基于R语言的微生物群落组成多样性分析——物种丰度计算及可视化

EndNote文献管理软件如何实现中英文献混合排版?

基于R语言的微生物群落组成多样性分析—β多样性之组间差异性检验

Endnote文献管理软件中怎么实现中文文献的管理及插入?

基于R语言的微生物群落组成多样性分析—β多样性之PCoA分析

基于R语言的微生物群落组成多样性分析——α多样性及其可视化

R可视化—数据的多重比较及字母标记

进化树美化——evolview基本命令速查与教程

R可视化—读入文件的常见方式

如何优雅地使用origin提取图表数据

R可视化——箱线图绘制及显著性标记

细菌16S rRNA序列提交至NCBI获取Genbank号

还不知道如何将16S rRNA序列提交至NCBI获取Genbank号?我教你吖

R可视化—基于UpSetR包的数据集合可视化教程

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存