说知道:物种多样性,群落优势度指数,物种丰富度这些指标怎么算啊

Python037

说知道:物种多样性,群落优势度指数,物种丰富度这些指标怎么算啊,第1张

物种多样性计算公式:

(1)丰富度指数R=s;

(2)Gini多样性指数D1=1-∑(Pi×Pi);

(3)Shannon-Wiener多样性指数HP=-∑(Pi×lnPi);

(4)Simpson多样性指数D=1-∑Ni(Ni-1)/〔N(N-1)〕;

(5)生态优势度C=Ni(Ni-1)/〔N(N-1)〕;

(6)Pielou均匀度指数JSW=-∑(PilnPi)/lns,式中s为样方中观察的物种数;Pi=Ni/N,N为样方中各物种多度指标总和,Ni为第i个种的多度指标。

物种丰富度和均匀度的函数,是用来描述一个群落的多样性的统计量。物种多样性指数分析在比较不同群落的物种多样性时,可依照研究者的不同需要采用不同指数。物种多样性指数是分析群落物种多样性特征的简单方法。

扩展资料:

物种丰富度和均匀度的函数,是用来描述一个群落的多样性的统计量。物种多样性指数分析在比较不同群落的物种多样性时,可依照研究者的不同需要采用不同指数。物种多样性指数是分析群落物种多样性特征的简单方法。

在比较两个群落的物种多样性特征时,最简单的方法是比较两群落中的某类群物种的数量,即物种丰富度指数或种数。但由于物种多样性的二元特征,使用物种丰富度比较可能存在误导。

计算物种多样性指数的公式有很多,形式各异,而实质是差不多的。大部分多样性指数中,组成群落的生物种类越多,其多样性指值越大。

参考资料来源:百度百科--物种多样性指数

物种多样性可用一定空间范围内的物种数量的分布频率来衡量,常用物种丰富度表示。

物种丰富度指数就是物种多样性指数,即辛普森多样性指数计算

公式是D=1-Σ(ni/N)^2(Σ上面是S,Σ下面是i=1)

其中D是多样性指数,N是所有物种的个体总数,ni表示第i个物种的个体数,S是物种的数目(种数)

操作之前安装好ggplot2、vegan、ggpubr包。如下:

install.packages("ggplot2")

install.packages("ggpubr")

install.packages("vegan")

计算Shannon-香农指数和Simpson-辛普森指数的命令在vegan包中,计算各组显著性的命令在ggpubr包中;画图使用ggplot命令,在行使每个命令之前一定要加载相应的包,如下:

library(ggplot2)

library(ggpubr)

library(vegan)

拿到一个otu表格,要先计算香农指数和辛普森指数,操作如下:

otu=read.table('D:/r-working/feature-table.taxonomy.txt',row.names = 1,skip=1,header=T,comment.char ='',sep='\t')

#读取out表格

#'D:/feature table.taxonomy.txt'为文件路径,注意斜线方向

#row.names = 1指定第一列为行名

#skip=1跳过第一行不读

#header=T指定第一个有效行为列名

#sep='\t'表示指定制表符为分隔符

#comment.char=''表示设置注释符号为空字符‘’,这样#后面的内容就不会被省略

otu=otu[,-ncol(otu)]

#去除表格的最后一列,无用信息

otu=t(otu)

#表格转置,必须将样品名作为行名

shannon=diversity(otu,"shannon")

#计算香农指数,先加载vegan包

shannon

#查看香农指数

simpson=diversity(otu,"simpson")

#计算辛普森指数,先加载vegan包

simpson

#查看辛普森指数

alpha=data.frame(shannon,simpson,check.names=T)

#合并两个指数

write.table(alpha,"D:/r-working/alpha-summary.xls",sep='\t',quote=F)

#存储数据,注意路径使用反斜杠

将各样本进行分组,并进行画图,操作如下:

map<-read.table('D:/r-working/mapping_file.txt',row.names = 1,header=T,comment.char ='',sep='\t',check.names=F)

#读取分组表格

group<-map["Group1"]

#提取需要的分组,'Group1'是表中的分组列名,包括A,B,C三组

alpha<-alpha[match(rownames(group),rownames(alpha)),]

#重排alpha的行的顺序,使其与group的样本id(行名)一致

data<-data.frame(group,alpha,check.rows=T)

#合并两个表格.'<-'与'='同属赋值的含义.

p=ggplot(data=data,aes(x=Group1,y=shannon))+geom_boxplot(fill=rainbow(7)[2])

#data = data指定数据表格

#x=Group1指定作为x轴的数据列名

#y=shannon指定作为y轴的数据列名

#geom_boxplot()表示画箱线图

#fill=rainbow(7)[2]指定填充色

此处用到ggplot2包画箱线图,将画图函数赋值给p后,可以用‘+’不断进行图层叠加,给图片p增加新的特性

p

#查看p

mycompare=list(c('A','B'),c('A','C'),c('B','C'))

#指定多重比较的分组对

mycompare

p<-p+stat_compare_means(comparisons=mycompare,label = "p.signif",method = 'wilcox')

#添加显著性标记的第一种方法,在此之前先加载ggpubr包

p<-p+ylim(2,5.5)

#调整图像的外观