Goodmorning everyone, 我正在尝试用纯素包进行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
我得到两个或更多变量完全相同的结果
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
答案 0 :(得分:0)
您看似忽略了输出中有一条重要的行:
Some constraints were aliased because they were collinear (redundant)
这意味着某些变量没有为您的模型带来新信息,但它们只复制了现有信息。看看你的df2
:当水分是141.55,然后能量是479.25,蛋白质是29.475,脂肪是33.225,碳水化合物是15.55,当水分变化时,所有其他变量同时变化。如果您知道一个变量的值,则可以知道所有其他变量的值。所以它们是多余的,你的数据是共线的。只有一个变量有任何信息,并报告给你。