MRPP(Multi ResponsePermutation Procedure)分析,类似于ANOSIM分析,主要是用于分析高维度数据组间相似性的统计方法,比如我们经常做完PCoA、NMDS等降维分析的时候(如下图),看着组间样本是区分开的,但是缺少一个P值,说明这种差异到底是否显著。
MRPP常用于生态学数据分析中,用于评估两组实验数据的整体相似性,以及相似性是否显著。其基本原理如下:
1)实验设计是有分组的,比如Group1和Group2,每个组3个重复
2)两两之间的相似性,分为组内和组间,如下
MRPP会计算一个组内的δ值(也叫observedδ),同时运用置换(permutes,一般置换1000次)的方法计算一个expected δ,最后计算一个A值,用于评价组间与组内的差异:
计算公式如下:
ni = 第i组的样本数
N = 所有的样本数
Xi = 第i组的平均距离
A > 0,表示组间差异大于组内差异,说明实验组和对照组之间存在差异,实验设计合理;
A = 0,表示组间没有差异,说明实验组和对照组之间没有差异;
A <>
当然,在运用置换的方法计算的expected δ的时候会计算一个P值,用于评价组内差异与组间差异的显著性。
举例说明计算过程:
比如我们有case和control两组(Group1,Group2)多维度的数据如下:
首先我们需要计算样本之间的相似性,常用的方法有 Bray-curtis、euclidean等等,得到相似性矩阵,如下:
利用上述矩阵,结合MRPP的计算公式,可以得出A值。
实例演示
我们还是利用R中鸢尾花数据集(iris)作为演示,iris数据集150个样本,4个维度的变量,分为3组,我们先用NMDS方法了解一下iris数据集的相似性情况,如下:
我们能看到三组数据能分得很开,也直观地可以看出组间差异大于组内差异,现在我们用MRPP分析,在R中vegan包提供了MRPP分析的函数mrpp:
mrpp(dat,grouping, permutations = 999, distance = 'bray', …)
dat可以是相似性矩阵,也可以是row为sample,columns为variable的data.frame
grouing 分组信息
permutations 置换检验的次数,默认是999次
distance 如果dat是data.frame,此参数用于计算相似性矩阵的方法,比如可以设置为欧氏距离euclidean、或者bray Curtis
从上图我们可以看出R = 0.6332 > 0, p = 0.001, 说明组内差异显著小于组间差异。
/End.
联系客服