Устранение неполадок в ограниченном порядке в анализе избыточности (RDA) с помощью веганского пакета - PullRequest
1 голос
/ 04 июня 2019

По предложению рецензента я анализирую данные функциональных признаков с использованием анализа избыточности (RDA).Это первый раз, когда я использую этот метод, поэтому у меня возникают проблемы с пониманием его тонкостей.

Мои данные имеют следующую структуру:

# Generate a dataset of 7 traits for 27 individuals
traits_test <- as.data.frame(matrix(data = 0, ncol = 7, nrow = 27))
colnames(traits_test) <- paste(array("trait_", dim = 7), c(1:7), sep = "")
for(i in 1:7) traits_test[,i] <- runif(27, 0, 1)

# Generate a dataframe with 3 factors
factor1 <- as.factor(c("A", "A", "A", "A", "A","B", "B", "B", "B", "A", 
                       "A", "A", "A", "A", "B","B", "B", "B", "A", "A", 
                       "A", "A", "A", "B","B", "B", "B"))
factor2 <- as.factor(c(array("C", dim = 9), array("D", dim = 18)))
factor3 <- as.factor(c(array("E", dim = 9), array("F", dim = 9), array("G", dim = 9)))
varexp <- cbind.data.frame(factor1, factor2, factor3)

Первым этапом моего исследования был анализ каждой черты со следующей смешанной моделью:

trait_x ~ factor1 + factor2 + (1|factor3)

Второйшаг состоит в том, чтобы использовать многомерный подход с RDA.Поскольку я не знал, как включить случайные эффекты в RDA, я кодировал 3-й фактор как нормальный фактор со следующей моделью (которая дала мои удовлетворительные результаты):

# Analysis conducted with the vegan package
library(vegan)

# RDA analysis
RDA <- rda(traits_test ~ factor1 + factor2 + factor3, data = varexp)

Тем не менее, я был предложенрецензент для кодирования 3-го фактора в качестве ковариации со следующей моделью:

RDA <- rda(traits_test ~ factor1 + factor2 + Condition(factor3), data = varexp)

Чего я не понимаю, так это того, что в этой последней модели у меня на выходе только 1 ось RDA вместо 3 вНачальная модель.Может ли кто-нибудь объяснить мне точно, что означает включение фактора в качестве Условного, и действительно ли это эквивалент случайного эффекта?

Спасибо всем, кто может помочь!

1 Ответ

0 голосов
/ 05 июня 2019

Это означает, что некоторые термины ~ factor1 + factor2 были псевдонимом , когда у вас впервые было factor3.«Псевдоним» означает примерно то же самое, что и синоним.То есть, когда вы знаете значения factor3, вы также знаете значения либо factor1, либо factor2.Они не добавляют никакой новой информации в модель, где у вас уже есть factor3.Вы также получили сообщение о том, что некоторые термины были псевдонимами.

Чтобы узнать, какие термины были псевдонимами, введите в свой объект результата RDA

alias(RDA) # long display
alias(RDA, names = TRUE) # give only the names of aliased terms
...