基于部分距离的 RDA - 质心从图中消失

partial Distance Based RDA - Centroids vanished from Plot

我正在尝试使用 field.ID 进行部分 db-RDA 以校正样本的重复测量特征。但是,包括 Condition(field.ID) 会导致主要关注因素的质心从图中消失(下方左图)。

设计:物种数据连续两年采样12个字段,重复。此外,每年还从参考田中抽取 3 个样本。由于以前的字段不可用,这三个字段在第二年已更改。 此外,还对一些环境变量进行了采样(氮、土壤水分、温度)。每个字段都有一个标识符 (field.ID)。 使用 field.ID 作为条件似乎错误地删除了 F1 因素。但是,将抽样活动 (SC) 用作条件则不然。后者是纠正部分 db-RDA 中重复测量的正确方法吗?

set.seed(1234)

df.exp <- data.frame(field.ID = factor(c(1:12,13,14,15,1:12,16,17,18)),
                     SC = factor(rep(c(1,2), each=15)),
                     F1 = factor(rep(rep(c("A","B","C","D","E"),each=3),2)),
                     Nitrogen  = rnorm(30,mean=0.16, sd=0.07),
                     Temp  = rnorm(30,mean=13.5, sd=3.9),
                     Moist  = rnorm(30,mean=19.4, sd=5.8))

df.rsp <- data.frame(Spec1 = rpois(30, 5),
                     Spec2 = rpois(30,1),
                     Spec3 = rpois(30,4.5),
                     Spec4 = rpois(30,3),
                     Spec5 = rpois(30,7),
                     Spec6 = rpois(30,7),
                     Spec7 = rpois(30,5))

data=cbind(df.exp, df.rsp)                  



dbRDA <- capscale(df.rsp ~ F1 + Nitrogen + Temp + Moist + Condition(SC), df.exp); ordiplot(dbRDA)
dbRDA <- capscale(df.rsp ~ F1 + Nitrogen + Temp + Moist + Condition(field.ID), df.exp); ordiplot(dbRDA)

由于 ID,您部分排除了变化,然后您尝试解释此 ID 的别名变量,但它已经部分排除了。打印输出中的关键行是:

Some constraints were aliased because they were collinear (redundant)

事实上,当你询问细节时,你会得到

> alias(dbRDA, names=TRUE)
[1] "F1B" "F1C" "F1D" "F1E"

F1? 变量在 ID 中是常量,已经被部分删除了,没有什么可以解释的了。