0

大家早上好,我正在尝试使用 vegan 包进行 rda 分析。我的 df1 看起来像:

           816fit    308fit    433fit   008fit   1057fit
id21         0         0         0          0          0
id22         0         0         0          0          0
id23         0         0         0          0          0
id24         0         0         0          0          0
id26         0         0         0          0          0

而df2是:

   dairy_Moisture dairy_Energy dairy_Protein dairy_Fat dairy_Carbohydrate dairy_Fiber dairy_Minerals
id21         141.55       479.25        29.475    33.225              15.55           0            5.2
id22         141.55       479.25        29.475    33.225              15.55           0            5.2
id23         141.55       479.25        29.475    33.225              15.55           0            5.2
id24         141.55       479.25        29.475    33.225              15.55           0            5.2
id26          40.30       348.00        24.100    25.100               6.30           0            4.2

我想使用 df2 中包含的所有变量执行 rda,但是当我执行分析时:

rda(df1 ~ df2$dairy_Moisture+ df2$dairy_Energy)

我只得到第一个变量的结果。喜欢它并没有考虑到我可以在第一个变量之后加上“+”的所有其他变量。有谁知道为什么会这样?多谢

只是想知道我得到的结果是

rda(df1 ~ dairy_Energy , df2)
Call: rda(formula = df1 ~ dairy_Energy, data = df2)

              Inertia Proportion Rank
Total         0.46565    1.00000     
Constrained   0.09769    0.20979    1
Unconstrained 0.36796    0.79021    6
Inertia is variance 

Eigenvalues for constrained axes:
   RDA1 
0.09769 

Eigenvalues for unconstrained axes:
    PC1     PC2     PC3     PC4     PC5     PC6 
0.10567 0.07875 0.06024 0.05464 0.04113 0.02752 

我得到完全相同的结果,有 2 个或更多变量

Call: rda(formula = df1 ~ dairy_Energy + dairy_Carbohydrate, data = df2)

              Inertia Proportion Rank
Total         0.46565    1.00000     
Constrained   0.09769    0.20979    1
Unconstrained 0.36796    0.79021    6
Inertia is variance 
Some constraints were aliased because they were collinear (redundant)

Eigenvalues for constrained axes:
   RDA1 
0.09769 

Eigenvalues for unconstrained axes:
    PC1     PC2     PC3     PC4     PC5     PC6 
0.10567 0.07875 0.06024 0.05464 0.04113 0.02752 
4

1 回答 1

1

您似乎忽略了输出中的重要一行:

Some constraints were aliased because they were collinear (redundant)

这意味着某些变量没有为您的模型带来新信息,但它们仅复制了现有信息。看看你的df2:当水分为 141.55 时,能量为 479.25,蛋白质为 29.475,脂肪为 33.225,碳水化合物为 15.55,当水分变化时,所有其他变量同时变化。如果你知道一个变量的值,你就知道所有其他变量的值。所以它们是多余的,你的数据是共线的。只有一个变量具有任何信息,并且会向您报告。

于 2018-01-30T16:09:14.223 回答