首页 > 解决方案 > dbRDA in R, how to with abundance data and missing values for environmental data

问题描述

Using R, I'm trying to do a dbRDA on a set of abundance data of 9 species (units cells/mL) over 10 sampling days and I have 8 environmental variables (different units and some missing values). I want a test to show how the environmental variables are influencing the variation between the abundances across the days.

Q: Is a dbRDA the right test? Or maybe a CCA?

Q: How do I know if I should sqrt.dist = TRUE?

Q: What is the difference between using dbrda, cca and capscale?

dismat <- vegdist(Abundance_data, method="bray", binary=FALSE, diag=FALSE, 
upper=FALSE, na.rm = FALSE)

vare.cap <- dbrda(dismat~ T + F + S + Chl + Ice + AirT + WD + WS, data=df, 
dist = "bray", scale = TRUE, sqrt.dist = TRUE, na.action = na.omit)

anova(vare.cap)
anova(vare.cap, by="margin")
anova(vare.cap, by="terms")

Q: What is the difference between margin and terms?

标签: rveganrda

解决方案


这些问题不是很技术性,回答你可能是错误的。但是,这里回答了四个问题的当前状态:

Q. dbRDA 或 CCA:如果没有固执己见,就无法简单地回答这个问题。真的没有答案:有些人喜欢 dbRDA,有些人喜欢 CCA。它是关于度量(=当你说两个抽样单位彼此不同时你的意思是什么),以及如何衡量。这是科学学校和传统的问题,你真的应该咨询你的同事和主管,以了解在你的环境中事情是如何完成的。解释这些差异所占用的篇幅比本论坛的篇幅要多得多。顺便说一句,dbRDA 和 CCA 都不是测试,尽管它们可以在分析后与置换测试一起使用。

问:是否使用 sqrt.dist:同样,这是科学学校的问题。sqrt.dist 试图解决的问题是基于距离的方法可以给出具有流行的生态差异指数的微小负特征值,并且在许多情况下,这些可以通过取差异的平方根来使用。这些负特征值并不让我担心,我也懒得使用 sqrt.dist,但很多人真的被他们吓坏了。使用 sqrt.dist 的问题在于,您不再分析指定的差异,而是分析它们的平方根。大多数情况下,负特征值的影响只出现在您不感兴趣的后面的轴中,并且前几个轴是不敏感的(例如,使用参数add对这些影响不大),如果是这种情况,sqrt.dist = TRUE没用。但是,您应该再次检查当地的传统(询问您的朋友和主管)并相应地工作。

Q. dbRDA、CCA 或 capscale。对于CCA,请参阅第一个答案。For capscale: 不要使用它,而是使用dbrdawhich implements (我认为) 更好的方法。但是,dbrda它们capscale仅在对负特征值的处理上有所不同,如果没有负特征值,则两者都给出相同的结果,您可以使用其中任何一个。

Q. 保证金与条款:这是指测试单个约束变量(或条款)。当您测试项时,将按顺序或按它们在模型定义中的顺序测试变量:(1)单独的第一个变量的影响,(2)具有第一个变量后的第二个变量的影响,(n)具有 n-1 个变量后的第 n 个变量。“边际”是指模型中包含所有 n-1 个其他变量后每个变量的边际效应或独特效应。这与其他标准R函数中的定义相同(例如在线性模型的 ANOVA 中)lm)。顺序测试是合理的,而边缘测试可能更容易理解。有时边际测试更有用,但它们可能会产生误导。策略之间的差异取决于解释变量的相互依赖关系(共线性),如果您的变量是独立的(不相关的),差异就会消失。


推荐阅读