转载 http://blog.sina.com.cn/s/blog_4b678be40100o464.html
Mantel test 是对两个矩阵相关关系的检验,由Nathan Mantel在1976年提出。之所以抛开相关系数发展这样一种方法,是因为相关系数只能处理两列数据之间的相关性,而在面对两个矩阵之间的相关性时就束手无策。Mantel检验专治这种不服。
这种方法多用于生态学上,不同的样本case对应不同的变量,而不同的变量可以分属不同的类别,对case有不同角度的刻画。如基于不同植物种类数量可以建立样本间的两两距离矩阵,只需套用距离计算公式即可;不同样本的微生物clone序列,通过Unifrac方法也可以计算得到样本间距离矩阵;不同位置,两两间距离也可以用距离表示。所得到这些矩阵,如果希望验证两类描述间有没有相关关系,就非常有用了。比如我希望检验微生物群落是否和植被群落有对应关系,就可以将微生物Unifrac矩阵对植物的比如Bray-Curtis距离矩阵做个相关分析,由得到的结果得出自己的推论。这种方法的好处在于,不管你是什么数据,只要能计算有距离属性的值,都可以转化为距离矩阵进行分析。
Mantel test,顾名思义,是一种检验。既然是检验就得有原假设,它的原假设是两个矩阵见没有相关关系。检验过程如下:两个矩阵都对应展开,变量两列,计算相关系数(理论上什么相关系数都可以计算,但常用pearson相关系数),然后其中一列或两列同时置换,再计算一个值,permutation 成千上万次,看实际的r值在所得r值分布中的位置,如果跟随机置换得到的结果站队较近,则不大相关,如果远远比随机由此得到显著性。
ape包里的mantel.test()可以检验;
vegan包里的mental()也可以计算。