0

Goodmorning everyone, I'm trying to perform rda analysis with vegan package. My df1 looks like:

           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

while the df2 is:

   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

I would like to perform rda using all the variables contained in df2 but when i perform my analysis:

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

I only get the result for the first variable. Like it it does not take into account all the other variables i can put with "+" after the first one. Doesn anyone know why it happens? thanks a lot

Just to give an idea of the result that I get it is

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 

and I get exactly the same identical result with 2 or more variables

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 
Dr.PhilCol
  • 21
  • 5

1 Answers1

1

There is one significant line in the output that you seemingly ignored:

Some constraints were aliased because they were collinear (redundant)

This means that some variables brought no new information to your model, but they only replicated existing information. Look at your df2: when Moisture is 141.55, then Energy is 479.25, Protein is 29.475, Fat is 33.225 and Carbohydrate is 15.55, and when Moisture changes, all other variables change simultaneously. If you know the values of one variable, you know the values of all other variables. So they are redundant and your data are collinear. There is but one variable having any information, and that is reported to you.

Jari Oksanen
  • 3,287
  • 1
  • 11
  • 15