Пакет R vegan: анализ RDA с несколькими переменными

Всем доброго времени суток, я пытаюсь выполнить анализ 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

Я хотел бы выполнить RDA, используя все переменные, содержащиеся в df2, но когда я выполняю свой анализ:

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 

1 ответ

В выводе есть одна важная строка, которую вы, казалось бы, проигнорировали:

Some constraints were aliased because they were collinear (redundant)

Это означает, что некоторые переменные не принесли никакой новой информации в вашу модель, но они только копировали существующую информацию. Посмотри на свой df2: когда влажность равна 141,55, то энергия равна 479,25, белок - 29,475, жир - 33,225, углевод - 15,55, а при изменении влажности все другие переменные изменяются одновременно. Если вы знаете значения одной переменной, вы знаете значения всех других переменных. Таким образом, они избыточны, а ваши данные коллинеарны. Существует только одна переменная, имеющая какую-либо информацию, и она сообщается вам.

Другие вопросы по тегам