基于部分距离的 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
中是常量,已经被部分删除了,没有什么可以解释的了。
我正在尝试使用 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
中是常量,已经被部分删除了,没有什么可以解释的了。