实现mSphere的均匀度-丰富度关系图

2021-05-07 16:43:31 浏览数 (1)

昨天的文章:

均匀度-丰富度散点图:生态群落分析中Shannon的可视和深刻表现

提到了计算NME的方法。自己写了一个简单的函数可以实现:

必须的参数只有一个OTU。 index为要计算的alpha多样性指数。默认richness。由于前文提到richness已经不是一个表征多样性的好指数,这里还可以选择Chao1,ACE,Shannon,Simpson指数进行计算。 group为分组文件。注意读入的时候要有行名和表头。

代码语言:javascript复制
#用法
x = read.delim(file="out_table.txt",sep="t",header=T,row.names=1) #OTU
g = read.delim(file="group.txt",sep="t",header=T,row.names=1) #group文件

library(vegan)
library(ggplot2)
NME(x,index="shannon",group=g)

会得到结果nme.out,一共四列,包含每个样本均匀度的中位数,最大值;NME指数及指定的多样性结果。可用这个结果进行PERMANOVA等进一步分析。

这里还会直接输出一个简单的图。椭圆为95%置信区间,如果group文件为空就不分组。

输出示例

函数如下:

0 人点赞