yzy2020的个人博客分享 http://blog.sciencenet.cn/u/yzy2020 技术体现的是术,可以通过多次练习掌握,不要迷恋术,idea是道,需要通过文献加强训练。总之,孰能生巧!

博文

[转载]Mantel test及衍生的MRM方法

已有 10496 次阅读 2021-3-26 16:20 |个人分类:R语言|系统分类:科研笔记|文章来源:转载

本文主要介绍Mantel test及衍生的MRM方法。

https://my.oschina.net/u/4579341/blog/4347023

   

—Let's begin—

1Simple Mantel test


Mantel test计算的是两个不相似矩阵之间的相关性。生态学上的意义是验证环境相似的地方是否物种也相似;环境不相似的地方物种是否不相似。
计算方法为Ecodist包中mantel函数。输入的两个矩阵分别为群落OTU及环境因子/地理距离。
一般群落数据使用Bray-Curtis不相似性。环境因子/地理距离用欧氏距离(Euclidean distances)。

> library("ecodist")
> set.seed(9876)
> sampleloc <- 1:20
> species <- matrix(rnorm(100), nrow = 20, ncol = 5)
> sampleloc.edist <- distance(sampleloc, "euclidean")
> species.bcdist <- distance(species, "bray-curtis")
> mantel(species.bcdist ~ sampleloc.edist)
    mantelr       pval1       pval2       pval3   llim.2.5%  ulim.97.5% 
 0.01770804  0.45900000  0.54200000  0.84100000 -0.08224247  0.03649103 

 


Mantelr为r值。pval1评估零模型(r <= 0)的显著性。本例中pval1不显著,说明地理距离上相近的样本群落组成并不相似。Pval2和pval3分别评估r >= 0和r = 0的显著性。


需要注意的是,Mantel test评估的是物种组成或环境因子变化的线性空间结构。(MRM的一大扩展是可以评估非线性的关系)      


若距离矩阵是有偏的(skewed),则提前对样本进行排序(ranking)是很有必要的。模式研究表明排序过的样本进行mantel test检验的统计性强于未排序的检验。排序可以使一些非线性的关系线性化, 单调性是比线性更宽松的要求。排序后r稍微高了一些,但是还是不显著。


> mantel(species.bcdist ~ sampleloc.edist, mrank = TRUE)
    mantelr       pval1       pval2       pval3   llim.2.5%  ulim.97.5% 
 0.03808221  0.33300000  0.66800000  0.64300000 -0.01192652  0.08266478 

 


Permutation tests仅在多个不相似性矩阵之间独立时有效。做法就是矩阵的行和列进行随机组合。Permutation的次数一直存在争议,10000或1000次都可以。当然越多结果准确性越高。这一步非常耗时,一般1000次足矣。


>mantel(species.bcdist ~ sampleloc.edist, nperm=1000)  ##默认为1000
    mantelr       pval1       pval2       pval3   llim.2.5%  ulim.97.5% 
 0.01770804  0.47100000  0.53000000  0.85600000 -0.08014799  0.03508382 

 


Mantel test原理。A为原始距离矩阵,B为A转换为向量进行后续分析,并计算不同向量之间的相关系数r值。C为行和列同时置换对r进行统计检验。


2Partial Mantel test


排除因子C的影响,A和B做partial correlation,即
mantel(A ~ B + C)
+表示排除的因子


soil <- runif(20)
soil.edist <- distance(soil"euclidean")
mantel(species.bcdist ~ sampleloc.edist + soil.edist)
    mantelr       pval1       pval2       pval3   llim.2.5%  ulim.97.5
 0.01709945  0.47400000  0.52700000  0.83800000 -0.07641251  0.03458313 

 


3multiple regression on distance matrices (MRM)


MRM是partial Mantel的延伸,其优势在于:
(1) MRM可以使用多项式、非线性或非参数回归方法,如广义相加模型。距离矩阵展开成向量后,对MRM模型进行拟合的计算与对原始数据进行多元回归的计算没有区别。唯一的计算差异在于显著性检验,它是通过对响应距离矩阵的对象进行排列来执行的。
(2) MRM扩展解释矩阵的数量,允许每个环境变量用它自己的距离矩阵表示。这提供了一种改进的物种-环境相关性(因为重要变量的影响不会被不重要的变量所稀释),以及一种方便的方法来确定每个环境因素的统计显著性和相对重要性。
我理解的响应矩阵(response distance matrix)即OTU,解释矩阵(explanatory matrices)即环境因子。

一定注意MRM的+和mantel不同。mantel中是排除后面因子的影响做partial,而MRM则表示增加另外一个解释矩阵。

library(ecodist)

# Usage

# MRM(formula = formula(data), data = sys.parent(), nperm = 1000, method = "linear",mrank = FALSE)

##nperm      #置换次数
##mrank      #FALSE (the default option) 使用Pearson correlations;TRUE使用Spearman correlation
##method    #linear (the default)使用uses multiple regression analysis;"logistic", performs logistic regression with appropriate permutation testing.
#注意:置换检验使用pseudo-t test来评价显著性, 而不是直接使用回归系数。

#Examples
>data(graze)

# 一定注意+和mantel的意义不同!不表示排除这个因子的影响,而是多个因子的共同作用
>MRM(dist(LOAR10) ~ dist(sitelocation) + dist(forestpct), data=graze, nperm=100)

$coef
                   dist(LOAR10) pval
Int                   6.9372046 0.97
dist(sitelocation)   -0.4840631 0.35
dist(forestpct)       0.1456083 0.01

$r.squared
        R2       pval 
0.04927212 0.02000000 

$F.test
       F   F.pval 
31.66549  0.02000 

 



Reference

Goslee SC, Urban DL(2007) The ecodist package for dissimilarity-based analysis of ecological data.J Stat Softw 22:1-19

Lichstein JW (2007) Multiple regression on distance matrices: a multivariatespatial analysis tool. Plant Ecol 188:117-131




https://m.sciencenet.cn/blog-3434047-1278729.html

上一篇:iCAMP学习5--定量评估草地微生物响应增温的群落组装--NC2020
下一篇:[转载]iTOL美化进化树 -学习链接

1 李功麟

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-19 15:12

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部