分享

什么是ANOSIM分析?

 萌小芊 2018-01-13

ANOSIM(analysis ofsimilarities)分析,也叫相似性分析,主要是用于分析高维度数据组间相似性的统计方法,比如我们经常做完PCoA、NMDS等降维分析的时候(如下图),看着组间样本是区分开的,但是缺少一个P值,说明这种差异到底是否显著。

ANOSIM是非参数检验,常用于生态学数据分析中,用于评估两组实验数据的整体相似性,以及相似性是否显著。其基本原理如下:

1)实验设计是有分组的,比如Group1和Group2,每个组3个重复;

2)两两之间的相似性,分为组内和组间,如下:

计算公式如下:

rb = mean rank of between group dissimilarities(组间差异性秩的平均值)

rw = mean rank of within group dissimilarities(组内差异性秩的平均值)

n = the number of samples(总的样本个数)

所有R的值域范围是[-1, 1]:

R <>

R = 0,表示组间没有差异,说明实验组和对照组之间没有差异

R > 0,表示组间差异大于组内差异,说明实验组和对照组之间存在差异

当然,如果我们得出R值大于0,还不足以说明实验组和对照组之间存在差异,我们还缺少一个p值,此时常用的检验方法是Permutation Test(置换检验):

1) 对原始样本随机分组,分为实验组和对照组,

2) 计算随机分组的Ri值,并和R比较(Ri > R),

3) 并重复1000次,

4) 计算p = Ri 大于 R的百分比,p<>

举例说明计算过程:

比如我们有case和control两组(Group1,Group2)多维度的数据如下:

首先我们需要计算样本之间的相似性,常用的方法有 Bray-curtis、euclidean等等,得到相似性矩阵,如下:

其次计算秩(也就是说从小到大排序),把相似性矩阵转换成秩矩阵,如下:

随后计算组内和组间的平均秩rb = 15.56,rw = 13.08,并计算R=(15.56-13.08)/(0.25*8*7) = 0.17,如下:

利用置换检验的方法计算p值,如下的方法重复1000次, rb= 14.06,rw = 15.08:

实例演示


我们还是利用R中鸢尾花数据集(iris)作为演示,iris数据集150个样本,4个维度的变量,分为3组,我们先用NMDS方法了解一下iris数据集的相似性情况,如下:

我们能看到三组数据能分得很开,也直观地可以看出组间差异大于组内差异,现在我们用ANOSIM分析,在R中vegan包提供了ANOSIM分析的函数anosim:

anosim(dat,grouping, permutations = 999, distance = 'bray', …)

dat           可以是相似性矩阵,也可以是row为sample,columns为variable的dataframe

grouing  分组信息

permutations  置换检验的次数,默认是999次

distance  如果dat是dataframe,计算相似性矩阵的方法,默认是bray Curtis

从上图我们可以看出R = 0.858 > 0, p = 0.001, 说明组间差异显著大于组内差异,从下图boxplot图我们也能直观的得出此结论。

/End. 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多