昨天的文章:
均匀度-丰富度散点图:生态群落分析中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文件为空就不分组。
输出示例
函数如下: