Я не знаю, как это сделать в пределах MuMIn::dredge()
(но см. Мои попытки ниже).
set.seed(101)
dd <- data.frame(x=rnorm(1000),
var1=rnorm(1000),
var2=rnorm(1000),
var3=rnorm(1000),
var4=sample(factor(sample(1:20,size=1000,replace=TRUE))),
var5=sample(factor(sample(1:20,size=1000,replace=TRUE))),
var6=sample(factor(sample(1:20,size=1000,replace=TRUE))))
library(lme4)
m0 <- lmer(x~var1+var2+var3+(1|var4)+(1|var5)+(1|var6),dd,REML=FALSE,
na.action=na.fail)
Если попытаться использовать m.lim
аргумент это подмножеств только фиксированные эффекты, но оставляет во всех случайных слагаемых эффекта:
dredge(m0,m.lim=c(0,1))
## Model selection table
## (Intrc) var1 var2 var3 df logLik AICc delta weight
## 1 0.02350 5 -1417.485 2845.0 0.00 0.412
## 3 0.02389 -0.03256 6 -1416.981 2846.0 1.02 0.248
## 5 0.02327 0.02168 6 -1417.254 2846.6 1.56 0.189
## 2 0.02349 -0.002981 6 -1417.480 2847.0 2.02 0.151
## Models ranked by AICc(x)
## Random terms (all models):
## ‘1 | var4’, ‘1 | var5’, ‘1 | var6’
После demo(dredge.subset)
, я попробовал это в качестве примера:
dredge(m0,
subset=expression(!((var1 && var2) || ((1|var4) && (1|var5)))))
но получил
Error in dredge(m0, subset = expression(!((var1 && var2) || ((1 | var4) && :
unrecognized names in 'subset' expression: "var4" and "var5"
Я не могу найти документацию о том, как сделать углубление/моделирование с помощью MuMIn::dredge()
моделей с различными случайными эффектами (действительно, я не уверен, что это хорошая идея). Если вы хотите, чтобы соответствовать всем моделям ровно один с фиксированным эффектом и ровно на один срок случайного эффекта, вы можете сделать это следующим образом:
Установите все комбинации:
fvars <- paste0("var",1:3)
gvars <- paste0("(1|var",4:6,")")
combs <- as.matrix(expand.grid(fvars,gvars))
Теперь подогнать их:
mList <- list()
for (i in 1:nrow(combs)) {
mList[[i]] <- update(m0,
formula=reformulate(combs[i,],response="x"))
}
Теперь вы можете использовать lapply
или sapply
работать на элементах списка, например:
lapply(mList,formula)
## [[1]]
## x ~ var1 + (1 | var4)
##
## [[2]]
## x ~ var2 + (1 | var4)
##
## [[3]]
## x ~ var3 + (1 | var4)
##
## [[4]]
## x ~ var1 + (1 | var5)
## ... et cetera ...
bbmle::AICtab(mList,weights=TRUE)
## dAIC df weight
## model5 0.0 4 0.344
## model6 0.5 4 0.262
## model4 1.0 4 0.213
## model8 4.1 4 0.044
## ... et cetera ...
... но вам придется усложнить работу по усреднению модели. Вы можете попробовать [email protected]
, [email protected]
или отправить по электронной почте сопроводителя MuMIn
(maintainer("MuMIn")
) ...
Большое спасибо! Я свяжусь с ними или, возможно, сделаю все возможные комбинации и исключу те, которые не имеют значения; в excel это возможно! – Teresa