【问题标题】:using adonis to compare to distance matrices使用 adonis 比较两个距离矩阵
【发布时间】:2014-04-15 02:05:54
【问题描述】:

我有 2 个两个相异矩阵。一个是在 111 个站点之间比较观察到的数据,另一个是使用空模型生成的。

我想使用vegan 中的adnois 函数来测试观察到的差异是否与空模型预期的差异显着不同。但是,adonis 函数只会在公式的左侧取一个相异矩阵。

有人知道如何为这个测试建模吗?

谢谢

【问题讨论】:

  • 你为什么不试试 Mantel 或 Partial Mantel 测试?
  • 好的,我没有调查这些。他们会告诉我与 PERMANOVA 相同的事情吗?即观察到的差异与零差异是否彼此显着不同?
  • 在某种意义上是的。试试library(vegan)?vegan::mantel
  • 因此,mantel 检验告诉我两个矩阵的相异性是否相关,而不是它们的相对大小是否有显着差异。
  • 在 vegan 中,您可以使用 oecosimu() 来构建自己的测试。请参阅 ?raupcrick 中的示例以处理不同之处。使用 oecosimu() 需要您可以构建一个在数据上运行的空模型,并且您可以构建一个用于测试统计的函数。建议在 R-Forge 或 github 上使用 vegan 2.1 版本:它们对插入您自己的空模型有更好的支持。

标签: r matrix vegan


【解决方案1】:

这个问题的答案是:

meanjac <- function(x) mean(vegdist(x, method='jaccard', diag=TRUE))
test <- oecosimu(x, nestfun=meanjac, method="r1", nsimul = 10^3, statistic='adonis')

将一个函数传递给 oecosimu,以获取 Jaccard 相异矩阵的平均值,然后使用 'r1' 方法通过随机打乱二元社区矩阵但根据观察到的占有率分配物种占有率来生成空社区矩阵并将其与观察到的差异矩阵进行比较。

感谢 Jari 为我指明了正确的方向...

【讨论】:

  • 这似乎很好,但我并没有完全理解......这意味着该模型将构建 vegdist 的 10^3 倍,并针对 null 社区对其进行相同次数的测试带阿多尼斯的矩阵?
  • oecosimu 将使用“r1”算法构建 10^3 个“随机”社区矩阵,然后使用 meanjac 从每个矩阵中获取平均 jaccard 相异度,并将其与观察到的社区矩阵的平均值进行比较.我认为 statistic = 'adonis' 实际上是多余的。
猜你喜欢
  • 1970-01-01
  • 2022-11-21
  • 1970-01-01
  • 1970-01-01
  • 2010-10-30
  • 2017-10-27
  • 1970-01-01
  • 1970-01-01
  • 2016-12-06
相关资源
最近更新 更多