0

当我将 dbRDA 应用于距离矩阵(在本例中为 Bray-Curtis 距离)时,如下所示:

dbrda(sqrt(dist) ~ ., site_vars)

是否可以在变量中包含一列有序因子site_vars,它是一个数据框,其中包含在采样点测量的值,例如平均温度,但它还包括一列“土壤”,其中对不同的土壤类型进行了排序?或者是否有必要在公式的单独Condition参数中添加所有序数和名义比例变量?

这里有一个小例子:

data <- rbind(
  c(1, 1, 0, 1, 1, 0, 0, 0, 0, 0),
  c(1, 1, 1, 0, 1, 1, 0, 0, 0, 0),
  c(0, 1, 0, 1, 0, 1, 1, 0, 1, 0),
  c(1, 0, 0, 0, 1, 0, 1, 1, 1, 0),
  c(0, 0, 0, 1, 0, 0, 0, 0, 1, 1)
)
rownames(data) <- c("Site_1", "Site_2", "Site_3", "Site_4", "Site_5")
colnames(data) <- c("Spec_1", "Spec_2", "Spec_3", "Spec_4", "Spec_5", "Spec_6", "Spec_7", "Spec_8", "Spec_9", "Spec_10")
dist <- vegdist(data, "bray")

site_vars <- data.frame(
  Tmean = c(9, 10, 12, 14.5, 14),
  SomethingElse = c(12, 14, 13, 16, 21),
  Soil = c("good", "good", "OK", "OK", "bad")
)
site_vars$Soil <- ordered(site_vars$Soil, levels = c("good", "OK", "bad"))
# Version 1
dbRDA_Condition <- dbrda(sqrt(dist) ~ Tmean + SomethingElse + Condition(Soil), site_vars)
plot(dbRDA_Condition)

# Version 2
dbRDA <- dbrda(sqrt(dist) ~ Tmean + SomethingElse + Soil, site_vars)
plot(dbRDA)

版本 1 似乎忽略了我的土壤变量排名的事实。版本 2 生成的输出我觉得解释起来有点棘手,因为除了组质心之外,它还显示箭头。我希望土壤有 1 个箭头,就好像它是一个带有数字 1、2 和 3 而不是三个级别的数字变量。但是,它显示了两个箭头,分别标记为 Soil.L 和 Soil.Q。为什么一个变量有两个箭头?*.L 和 *.Q 代表什么?不幸的是,我没有找到任何解释。

4

1 回答 1

1

R使用对比分析因子。在无序因子中,默认对比是与第一个因子水平的差异。对于有序因子,R使用多项式对比:线性 ( L)、二次 ( Q)、三次 ( C)、四阶 ( ^4)。检查R统计环境的任何指南。dbrda没有发明这个功能,但它是R标准。

于 2020-11-13T16:08:19.290 回答