我正在尝试使用field.ID来填充部分db-RDA以校正样本的重复测量字符。但是包括条件(field.ID)会导致图中主要因子的质心消失(左下图)。
设计:连续两年对物种数据进行了12次重复采样。此外,每年从参考领域抽取3个样本。由于以前的油田不可用,这三个油田在第二年已经改变。 此外,还对一些环境变量进行了采样(氮,土壤湿度,温度)。每个字段都有一个标识符(field.ID)。 使用field.ID作为Condition似乎错误地删除了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)
答案 0 :(得分:1)
由于ID
而导致变异,然后您尝试向此ID
解释变量别名,但它已经被分开了。印刷输出的关键是:
Some constraints were aliased because they were collinear (redundant)
事实上,当你要求细节时,你会得到
> alias(dbRDA, names=TRUE)
[1] "F1B" "F1C" "F1D" "F1E"
F1?
变量在ID
范围内保持不变,已经被分开了,没有什么可以解释的。