У меня есть данные dat
, в которых есть 15000 переменных ответа и 10 предикторов, собранных по нескольким группам и годам.
Я установил модель в R, используя lmer, и теперь я хочу создать несколько моделей, используя функцию dredge, и выполнить усреднение модели, используя пакет MuMIn.Вот мой подход.
global.model <- lmer(y ~ x1 + I(x1^2) + x2 + I(x2^2) + x3 + I(x3^2) + x4 + I(x4^2) + x5 + I(x5^2) + x6 + x7 + x8 + x9 + x10 + (time|group), REML = F, data = dat)
Чтобы избежать времени вычислений, я хочу установить некоторые условия так, чтобы все квадратные члены в модели могли появляться, только если присутствует ее линейный член (for.eg I(x2^2)
может появиться только при наличии x2
).Также я разработал некоторые правила, которые объясняются в комментариях ниже
model.set <- dredge(lmer.mdlglobal,
subset = dc(x1, I(x1^2)) && # only include x1 squared if x1 is present
dc(x2, I(x2^2)) && # only include x2 squared if x2 is present
dc(x3, I(x3^2)) && # only include x3 squared if x3 is present
dc(x4, I(x4^2)) && # only include x4 squared if x4 is present
dc(x5, I(x5^2)) && # only include x5 squared if x5 is present
!(x1 && x2), # don't include x1 and x2 in same model
!(x1 && x3), # don't include x1 and x3 in same model
!(x2 && x3), # don't include x2 and x3 in same model
!(x7 && x8), # don't include x7 and x8 in same model
!(x8 && x9), # don't include x8 and x9 in same model
!(x7 && x9), # don't include x7 and x9 in same model
m.lim = c(4, NA)) # each model must have minimum number of terms as 4 and no upper bound on number of terms.
Я хотел спросить, является ли приведенный выше правильный синтаксис для указания других правил, которые я намеревался.