基于部分距离的RDA - Centroids从Plot中消失

时间:2016-03-30 14:44:49

标签: vegan rda

我正在尝试使用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)

enter image description here

1 个答案:

答案 0 :(得分:1)

由于ID而导致变异,然后您尝试向此ID解释变量别名,但它已经被分开了。印刷输出的关键是:

Some constraints were aliased because they were collinear (redundant)

事实上,当你要求细节时,你会得到

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

F1?变量在ID范围内保持不变,已经被分开了,没有什么可以解释的。