我尝试使用emmeans
为mtcars
中的每个观测值获得disp
预测。我可以使用以下命令获得平均disp
预测:
library(emmeans)
mod <- lm(mpg ~ disp + hp, data = mtcars)
emm <- emmeans(mod, "disp", at=list(disp=c(130,135,140)))
但是,是否有可能获得数据集中每个案例的拟合值,类似于我使用predict(mod)
得到的值?
编辑:Ben Bolker建议:
nd <- expand.grid(hp = unique(mtcars$hp), disp = 130)
mean(predict(mod, newdata = nd))
23.20037
然而,这与我在emmeans中获得的平均值不匹配:
emmeans(mod, "disp", at=list(disp=130))
disp emmean SE df lower.CL upper.CL
130 23.1 0.928 29 21.2 25
1条答案
按热度按时间baubqpgj1#
不如
?
(or如果您确实希望对每个观测进行预测,则跳过
unique()
,即使它们具有非唯一的hp
...)如果您想要一个平均值与
emmeans
匹配的预测帧,则需要跳过unique()
。如果您只想考虑disp
的单个值,则不需要expand.grid
:与
emmeans
比较(转换为 Dataframe ,以便我们可以看到全分辨率)