Извлечение частичных невязок из пакета эффектов для линейной модели смешанных эффектов с членом взаимодействия - PullRequest
0 голосов
/ 11 января 2020

Я использую линейную модель смешанных эффектов с термином взаимодействия.

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))

Есть идеи, как извлечь частичные остатки для LMEM с термином взаимодействия из эффектов ()?

1 Ответ

1 голос
/ 11 января 2020

Сначала запустите код моделирования в вопросе. Затем сохраните вывод функции effects.

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

Теперь, resid(eff) дает остатки. Поскольку вопрос требует частичных остатков, go найдите их:

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
...