Ich weiß nicht, wie dies innerhalb MuMIn::dredge()
(aber siehe meine Versuche unten).
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)
Wenn wir versuchen, das m.lim
Argument zu verwenden, um es nur die festen Effekte Teilmengen, lässt aber in allen zufälligen Effekt terms:
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)
Folgen, habe ich versucht, dies als Beispiel:
dredge(m0,
subset=expression(!((var1 && var2) || ((1|var4) && (1|var5)))))
bekam aber
Error in dredge(m0, subset = expression(!((var1 && var2) || ((1 | var4) && :
unrecognized names in 'subset' expression: "var4" and "var5"
Ich kann keine Dokumentation finden wie Bagger/Modell Mittelwertbildung mit MuMIn::dredge()
über Modelle mit verschiedenen zufälligen Effekten (in der Tat, ich bin nicht davon überzeugt, dass dies eine gute Idee ist). Wenn Sie alle Modelle genau einen festen Effekt und genau ein Zufallseffekt Begriff, Sie könnten es tun, wie folgt passen wollte:
Richten Sie alle Kombinationen:
fvars <- paste0("var",1:3)
gvars <- paste0("(1|var",4:6,")")
combs <- as.matrix(expand.grid(fvars,gvars))
Jetzt passen sie:
mList <- list()
for (i in 1:nrow(combs)) {
mList[[i]] <- update(m0,
formula=reformulate(combs[i,],response="x"))
}
Jetzt können Sie lapply
oder sapply
verwenden, um auf die Elemente der Liste zu arbeiten, zum Beispiel:
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 ...
... aber Sie müssen etwas härter arbeiten, um das Modell zu mitteln. Sie könnten versuchen [email protected]
, [email protected]
, oder E-Mail der Betreuer MuMIn
(maintainer("MuMIn")
) ...
Vielen Dank Ben! Ich werde sie kontaktieren oder vielleicht alle möglichen Kombinationen machen und diejenigen ausschließen, die nicht wichtig sind; in Excel ist es möglich! – Teresa