前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mantel test 对两个矩阵相关关系的检验

Mantel test 对两个矩阵相关关系的检验

作者头像
拴小林
发布2021-07-30 16:11:56
2.9K0
发布2021-07-30 16:11:56
举报
文章被收录于专栏:数据驱动实践数据驱动实践

Mantel test 是对两个矩阵相关关系的检验,由Nathan Mantel在1976年提出。之所以抛开相关系数发展这样一种方法,是因为相关系数只能处理两列数据之间的相关性,而在面对两个矩阵之间的相关性时就束手无策。Mantel检验专治这种不服。

这种方法多用于生态学上,不同的样本case对应不同的变量,而不同的变量可以分属不同的类别,对case有不同角度的刻画。如基于不同植物种类数量可以建立样本间的两两距离矩阵,只需套用距离计算公式即可;不同样本的微生物clone序列,通过Unifrac方法也可以计算得到样本间距离矩阵;不同位置,两两间距离也可以用距离表示。所得到这些矩阵,如果希望验证两类描述间有没有相关关系,就非常有用了。比如我希望检验微生物群落是否和植被群落有对应关系,就可以将微生物Unifrac矩阵对植物的比如Bray-Curtis距离矩阵做个相关分析,由得到的结果得出自己的推论。这种方法的好处在于,不管你是什么数据,只要能计算有距离属性的值,都可以转化为距离矩阵进行分析。

Mantel test,顾名思义,是一种检验。既然是检验就得有原假设,它的原假设是两个矩阵见没有相关关系。检验过程如下:两个矩阵都对应展开,变量两列,计算相关系数(理论上什么相关系数都可以计算,但常用pearson相关系数),然后其中一列或两列同时置换,再计算一个值,permutation 成千上万次,看实际的r值在所得r值分布中的位置,如果跟随机置换得到的结果站队较近,则不大相关,如果远远比随机由此得到显著性。

ggcor 离线下载安装包链接:

https://pan.baidu.com/s/1jxu9hHITdh4Xt8xGqhh8Bw

提取码: e7ph

代码语言:javascript
复制
library(tidyverse)
library(ggcor)
data("varechem", package = "vegan")
data("varespec", package = "vegan")

mantel <- mantel_test(varespec, varechem,
                      spec.select = list(Spec01 = 1:7,
                                         Spec02 = 8:18,
                                         Spec03 = 19:37,
                                         Spec04 = 38:44)) %>% 
  mutate(rd = cut(r, breaks = c(-Inf, 0.2, 0.4, Inf),
                  labels = c("< 0.2", "0.2 - 0.4", ">= 0.4")),
         pd = cut(p.value, breaks = c(-Inf, 0.01, 0.05, Inf),
                  labels = c("< 0.01", "0.01 - 0.05", ">= 0.05")))

quickcor(varechem, type = "upper") +
  geom_square() +
  anno_link(aes(colour = pd, size = rd), data = mantel) +
  scale_size_manual(values = c(0.5, 1, 2))+
  guides(size = guide_legend(title = "Mantel's r",
                             order = 2),
         colour = guide_legend(title = "Mantel's p", 
                               order = 1),
         fill = guide_colorbar(title = "Pearson's r", order = 3))
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-07-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据驱动实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档