您正在寻找re.form
:
re.form:随机效应的条件.如果为"NULL",则包括所有随机效果; 如果'NA'或'~0',则不包括随机效应
require(lme4) fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) newx <- seq(min(sleepstudy$Days), max(sleepstudy$Days)) predict(fm1, newdata=data.frame(Days=newx), re.form=NA) ## 1 2 3 4 5 6 7 8 ## 251.4051 261.8724 272.3397 282.8070 293.2742 303.7415 314.2088 324.6761 ## 9 10 ## 335.1434 345.6107
至于你的其他问题:
merMod
是一个"超类",包括线性(lmerMod
)和广义线性(glmerMod
)模型:见?"merMod-class"
你的第二次尝试可能应该有效; 但是,它allow.new.levels
是针对偶尔出现NA
价值的情况设计的,并非所有NA
价值...... predict(fm1, newdata = data.frame(Days = newx, Subject = "a"), allow.new.levels = TRUE)
都有效.看起来代码检测到一个全NA
列并将其解释为上游出错的东西 - 这可以在代码中修复,但是因为re.form
存在而不是非常高优先级.