我可以得到这样的混合模型的预测值:
mod <- lmer(sales1 ~ price1 + (1|store), oranges)
X <- with(oranges, expand.grid(price1=c(30,50,70)))
X$pred <- predict(mod, newdata=X, re.form=NA)
> X
price1 pred
1 30 23.843916
2 50 11.001901
3 70 -1.840114
但是如何获得这三个估计值的下限和上限置信区间?
我安装了 merTools
包并尝试过
predictInterval(mod, newdata = X, n.sims = 999)
但是得到了一个错误
Error in eval(predvars, data, env) : object 'store' not found
2 回答
在
predictInterval
中将which
设置为"fixed"
就足够了,但事实并非如此 . 所以,它看起来像一个bug . 但是,如果我们为分组变量提供任何值,那么除了这个参数外,一切都有效 .正如所料,不同的受试者给出不同的预测 . 但是,将
which
设置为"fixed"
有助于:分组值甚至不必有意义,因为它最终被忽略:
您也可以使用ggeffects-package(例如,在this package-vignette中的示例),这可以节省您一些时间,因为您不需要为
newdata
创建数据框: