点击蓝字↑↑↑“微生态”,轻松关注不迷路
利用R语言堆叠图,我们可以将一个项目中所有样品的物种组成展示出来。下面介绍如何利用R语言进行物种组成分析和可视化。过程分为以下几步:
1)模拟丰度矩阵;
2)模拟分组;
3)标准化丰度;
4)调整格式;
5)ggplot2绘制堆叠图、冲积图、分面、分组、堆叠面积图。
1 模拟丰度矩阵
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=".")
# 行名
# 得到样品物种丰度矩阵,如下:
图1
2 模拟分组
group=c("A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B")
sample_id=rownames(data)
data_group=data.frame(sample_id, group)
# 得到分组文件,如下:
图2
3 标准化丰度
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]
# 将每个样品的总细菌数量控制为1
}
}
4 调整格式
library(reshape2)
# 加载用于处理数据格式的reshape2包
Taxonomy=colnames(data)
# 从data矩阵中提取物种分类信息
data_frame=data.frame(t(data_norm), Taxonomy)
# 新建数据框