Пакет 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, а при изменении влажности все другие переменные изменяются одновременно. Если вы знаете значения одной переменной, вы знаете значения всех других переменных. Таким образом, они избыточны, а ваши данные коллинеарны. Существует только одна переменная, имеющая какую-либо информацию, и она сообщается вам.