大数跨境
0
0

使用vegan包轻松计算多样性指数

使用vegan包轻松计算多样性指数 R语言数据分析指南
2021-10-25
2

生物多样性指数计算

链接: https://pan.baidu.com/s/1zX3mns9lHPm1ehkL85o1SA

提取码: fcva

一、alpha多样性指数的计算

setwd("D:/data2")
library(vegan)
alpha <- read.csv("alpha.csv",header = T,row.names = 1)
#计算alpha多样性
#shannon指数
Shannon.Wiener <- diversity(alpha, index = "shannon")
#simpson指数
Simpson <- diversity(alpha, index = "simpson")
#observed_species
observed_species <- specnumber(alpha)
#chao1指数
Chao1  <- estimateR(alpha)[2, ]
#ACE指数
ACE  <- estimateR(alpha)[4, ]
#计算物种系统发育指数PD需要树文件(tree)
#导出数据
alphadata <- data.frame(Shannon.Wiener,Simpson,observed_species,Chao1,ACE )
write.csv(alphadata,"alphadata.csv")

二、关于微生物抽平

由于微生物测定基因序列的时候,存在测定的基因序列数目不同的影响,会存在不同基因序列数目导致多样性指数计算产生较大差异,但是需要注意的是不是所有的数据都需要抽平,具体看下面两篇文章

抽平可以在qiime2里面基于序列进行抽平,也可基于otu水平上抽平

#抽平OTUs
library(vegan) 
#载入数据
otu <- read.csv("otu.csv",header = T,row.names = 1)
#抽平
otu_Flattening <- as.data.frame(t(rrarefy(t(otu), min(colSums(otu)))))
#导出抽平后的数据
write.table (otu_Flattening, file ="otu_Flattening.csv",sep =",", quote =FALSE) #结果导出
#计算微生物谱系多样性PD指数,需要tree文件
library(picante)
tree <- read.tree('tree.nwk')
PD_whole_tree <- pd(otu, tree, include.root = FALSE)[1]

http://blog.sciencenet.cn/blog-255662-310032.html

https://www.jianshu.com/p/1c5b680be69d

https://github.com/DaliangNing/NST

【声明】内容源于网络
0
0
R语言数据分析指南
R语言重症爱好者,喜欢绘制各种精美的图表,喜欢的小伙伴可以关注我,跟我一起学习
内容 1180
粉丝 0
R语言数据分析指南 R语言重症爱好者,喜欢绘制各种精美的图表,喜欢的小伙伴可以关注我,跟我一起学习
总阅读222
粉丝0
内容1.2k