【发布时间】:2020-12-03 13:01:06
【问题描述】:
我正在使用 glmmTMB 包运行混合模型,并使用 predict 函数使用以下代码计算预测均值:
运行模型
model_1 <- glmmTMB(Step.rate ~ Treatment*Week +
(1|Treatment.Group/Lamb.ID) + (1|Plot),
data = data.df, family = nbinom1)
创建新数据框
new.dat <- data.frame(Treatment = data.df$Treatment,
Week = data.df$Week, Plot = data.df$Plot,
Treatment.Group = data.df$Treatment.Group,
Lamb.ID = data.df$Lamb.ID)
预测平均值
new.dat$prediction <- predict(model_1, new.data = new.dat,
type = "response", re.form = NA)
这段代码运行良好,但是当我添加 interval = "confidence" 来计算置信区间时,它似乎不起作用。 R 忽略了代码的最后一部分,只计算预测的均值。
new.dat$prediction <- predict(model_1, new.data = new.dat,
type = "response", re.form = NA, intervals = "confidence")
为什么intervals = "confidence" 不起作用?这可能是与 glmmTMB 软件包相关的问题吗?
【问题讨论】:
-
一些可能有帮助的事情:要查看
predict()的 glmmTMB 特定版本的帮助页面,请转到?predict.glmmTMB。你会看到那里没有intervals参数。您可以“手动”制作近似 CI。 Bolker 的 GLMM 常见问题解答显示了一个示例 here。我还使用了 ggeffects 包中的ggpredict()来获得近似 CI 和预测,尽管我承认我在尝试定义我想要的确切数据集时会有些沮丧得到预测。 -
@aosmith,这可能值得回答(特别是如果您澄清通用方法(
?predict)、最广泛使用的方法(?predict.lm)和 OP 方法之间的区别正在使用 (?predict.glmmTMB) ... -
对于
?predict.glmmTMB,您可以选择se.fit=TRUE,这使您构建置信区间的工作变得更加容易。
标签: r predict confidence-interval glmmtmb