从具有交互项的线性混合效应模型的效应包中提取部分残差

Extracting partial residuals from effects package for a linear mixed effects model with an interaction term

我是 运行 具有交互项的线性混合效应模型。

library(lme4)
library(effects)
data<-mtcars
model<-lme4::lmer(mpg~cyl + hp*gear+ disp + (1|carb), REML=T, data=data)

# The partial residuals appear on the default effect() plot
plot(effect("hp:gear",partial.residuals=TRUE, model))

# But partial residual values are not included when saving as a dataframe
residuals <- as.data.frame(effect("hp:gear",partial.residuals=TRUE, model))

知道如何从 effects() 中提取带有交互项的 LMEM 的部分残差吗?

首先,运行问题中的建模代码。然后,保存函数 effects.

的输出
eff <- effect("hp:gear", partial.residuals = TRUE, model)

现在,resid(eff) 给出了残差。由于问题要求 partial 残差,所以去寻找它们:

grep("resid", names(eff))
#[1] 12 13

names(eff)[grep("resid", names(eff))]
#[1] "residuals"               "partial.residuals.range"

并使用第二个名字提取列表成员"partial.residuals.range"

eff$partial.residuals.range
#[1] 10.4 33.9

对于所有的部分残差,它们被定义为

predict(model) + resid(model)

range(predict(model) + resid(model))
#[1] 10.4 33.9

部分残差是通过plot()方法计算的,而不是Effect(),因为需要知道每个面板中有哪些点,[=中的面板函数可用的信息18=]格子 图,在计算部分残差之前。

所使用的方法在 J. Fox 和 S. Weisberg(2018 年)的“使用具有部分残差的预测效应图的复杂回归模型中可视化拟合和不拟合”中进行了描述,Journal of Statistical Software 87:9, 1–27(这是?Effect).

中引用