计算微生物多样性r语言代码

#计算微生物群的alpha多样性指标,包括Simpson,shannon,chao1等

对微生物多样性的计算主要思路是先进行抽平,使每个样本量的OTU丰富和一致,再按照公式对多样性进行计算

library(vegan)

#读入物种数"

otu <- read.csv("Arche_test.csv",row.names = 1,stringsAsFactors = FALSE, check.names = FALSE)

otu <- t(otu)   #注意行和列需不需要转换

#对微生物OUT数据进行抽平

#求和查看每个样本的和
colSums(otu)
#使用该代码进行抽平
otu_Flattening = as.data.frame(t(rrarefy(t(otu), min(colSums(otu)))))
#查看抽平后的每个样本的和
colSums(otu_Flattening)
#将抽平后的otu表保存到该工作目录,准备后面的多样性分析
write.table (otu_Flattening, file ="otu_Flattening.csv",sep =",", quote =FALSE) #结果导出

##物种丰富度 Richness 指数
richness <- rowSums(otu > 0)

#Shannon 指数
shannon_index <- diversity(otu, index = 'shannon', base = exp(1))

##Simpson 
#Gini-Simpson 指数(我们平时常用的 Simpson 指数即为 Gini-Simpson 指数)
gini_simpson_index <- diversity(otu, index = 'simpson')

#Chao1 指数
chao1 <- estimateR(otu)[2, ]

##goods_coverage 指数
goods_coverage <- 1 - rowSums(otu == 1) / rowSums(otu)

#保存结果

result <- data.frame(richness, shannon_index, gini_simpson_index, pielou, chao1, ace, goods_coverage)

write.csv(result, 'alpha_diversity.csv', quote = FALSE)

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值