组间差异分析:Anosim

作者: SYSU星空 | 来源:发表于2020-03-09 17:22 被阅读0次

    无论是野外环境样品,还是室内试验样品,一般我们都会设置样方或平行样来增强分析的准确性,必要时还会进行区组设计,因此在数据分析中需要进行组间差异的比较判别。然而对于微生物群落数据,由于物种繁多,而且不同物种的敏感环境因子不同,因此基于正态分布的参数检验难以满足分析需要,要进行多元非参数检验(non-parametric multivariate statistical tests)来计算显著性,R语言vegan包含有多种非参数检验方法,包括Anosim、Adonis、MRPP等,不同方法在统计量的选择、零模型等方面存在差异。

    示例数据下载可查看原文:组间差异分析:Anosim

    Anosim分析(Analysis of similarities)是一种基于置换检验和秩和检验的非参数检验方法,用来检验组间的差异是否显著大于组内差异,从而判断分组是否有意义。Anosim分析使用距离进行分析,默认为method="bray",可以选择其他距离(和vegdist()函数相同),也可以直接使用距离矩阵进行分析。在R中我们可以使用vegan包中的anosim()函数进行分析,这里我们微生物群落数据为例进行分析:

    #读取抽平后的OTU_table和环境因子信息

    data=read.csv("otu_table.csv",header=TRUE, row.names=1)

    envir=read.table("environment.txt",header=TRUE)

    rownames(envir)=envir[,1]

    env=envir[,-1]

    #筛选高丰度物种并将物种数据标准化

    means=apply(data,1, mean)

    otu=data[names(means[means>10]),]

    otu=t(otu)

    #根据地理距离聚类

    kms=kmeans(env,centers=3, nstart=22)

    Position=factor(kms$cluster)

    #进行Anosim分析

    library(vegan)

    anosim=anosim(otu,Position, permutations=999)

    summary(anosim)

    上图中的ANOSIM statistic R为Anosim检验的统计量,他的分布衡量的就是零模型的分布,Upper quantiles of permutations就是通过999次置换获得的统计量的分位数。具体说来,Anosim分析的原理是先计算样品两两之间的距离,将样品两两之间的距离按照从大到小进行排序并计算排名(秩,r),并根据距离的归类(属于组间距离还是组内距离)来计算组间距离秩的均值rb与组内距离秩的均值rw之差作为统计量:

    假如R>0,说明组内距离小于组间距离,也即分组是有效的,这与方差分析中比较组内方差与组间方差来判断的原理是类似的。由上面分析结果可以看到R=0.4613,大于零模型99%分位数0.290,因此p值为0.001,结果是显著的。我们可以提取分析结果,如下为距离的秩:

    因为有22个样品,所以应该有C(22, 2)=231个距离。如下为上述距离对应的归属:

    现在我们根据这个排序归类进行可视化:

    设置参数notch=TRUE后会在箱子的两边绘制凹槽来显示中位数的置信区间,从而便于对中位数进行比较。可以看出第二组分组效果较差,但总体来说分组是有效的。

    相关文章

      网友评论

        本文标题:组间差异分析:Anosim

        本文链接:https://www.haomeiwen.com/subject/bjnpdhtx.html