菌群多样性分析---Alpha多样性计算

文章展示了如何利用R语言中的vegan包对OTU表进行抽平处理,以确保每个样本具有相同数量的观测值。之后,通过estimateR函数计算了α多样性的几个指标,包括观察到的物种数、Chao1指数、ACE指数、Shannon指数和Simpson指数,以及Goods覆盖度,为后续的多样性分析做准备。
摘要由CSDN通过智能技术生成

#加载需要用到的包
#利用vegan包实现抽平分析的方法

library(vegan)

#加载工作目录


directory ="~/工作目录"

setwd(directory)
#加载otu表
otu <- read.csv("~.csv")
x <- otu[,c(2:8)]
#求和查看每个样本的和
colSums(x)
#使用该代码进行抽平
otu_Flat = as.data.frame(t(rrarefy(t(x), min(colSums(x)))))
#查看抽平后的每个样本的和
colSums(otu_Flat)
# 将抽平后的otu表保存到该工作目录,准备后面的多样性分析
write.csv(otu_Flat, file ="otu_Flat.csv",row.names = T)
otu <- read.csv("otu_Flat.csv")
colnames(otu)
y <- otu[,c(2:8)]
y <- t(y)
#定义函数进行计算
alpha_diversity <- function(x) {
  observed_species <- estimateR(x)[1,]
  Chao1 <- estimateR(x)[2,]
  ACE <- estimateR(x)[4,]
  Shannon <- diversity(x, index='shannon', base=2)
  Simpson <- diversity(x, index='simpson')
  goods_Coverage <- 1 - rowSums(x == 1) / rowSums(x)
  
  
  Shannon <- sprintf("%0.4f", Shannon)
  Simpson <- sprintf("%0.4f", Simpson)
  goods_Coverage <- sprintf("%0.4f", goods_Coverage)
  
  result <- data.frame(observed_species, Chao1, ACE, Shannon, Simpson, goods_Coverage)
  }
alpha <- alpha_diversity(y)

得到结果~

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值