====== 简介 ====== Mantel test是确定两组距离测度矩阵(而非两组变量矩阵)之间相关性的相关性测试方法,用于判断一个矩阵中的样本距离与另一个矩阵的样本距离是否相关。Mantel-test零假设为响应变量矩阵中对象之间的距离与解释变量矩阵不存在相关,如果结果中P值显著,则拒绝零假设,即存在相关性,随着一个矩阵中样本之间的距离增加(或减少),另一个矩阵中对应样本之间的距离也增加(或减少)。 此外,Mantel 方法还可用于检验假设或模型。在这种模型测试方法中,一个矩阵包含响应数据,另一个矩阵代表了要测试的先验模型(检验的备择假设),如果找到了重要的Mantel统计信息,它们将为模型提供一些支持。 ====== R脚本 ====== llibrary(vegan) library(MASS) library(ggplot2) library(ade4) setwd("./test") sink("16s_dist.txt") 16s <- read.table("16s_tran.txt", header = T, row.names = 1,sep = "\t") env <- read.table("its_tran.txt", header = T, row.names = 1,sep = "\t") 16s.dist <- vegdist(16s,method="bray") #env.dist <- vegdist(scale(env_temp), "euclid") its.dist <- vegdist(its,method="bray") mantel(16.dist, its.dist, method="spear") -> t1 mantel.rtest(16s.dist, its.dist, 10000) -> t1 plot(unlist(16s.dist),unlist(its.dist),xlab='16S dist', ylab = 'ITS dist', col = rgb(0.5,0.5,0.5,0.8), cex = 1, pch = 19) lmodel <- lm(unlist(16s.dist)~unlist(its.dist)) abline(lmodel, lwd = 2) 16.dist ====== 输入数据 ====== {{:16s数据.png?400|}} ====== 图片展示 ====== {{:mantel.png?400|}}