Я выполняю многоуровневое многократное вменение через пакет mitml
(используя функцию panimpute()
) и подгоняю линейные смешанные модели и предельные модели через пакеты nlme
и geepack
и функцию mitml:with()
.
Я могу получить оценки, p-значения и c для них с помощью функции testEstimates()
, но я также рассчитываю получить оценочные средние для моих предикторов модели. Я попробовал пакет emmeans
, который я обычно использую для получения оценочных значений при выполнении nlme & geepack
без многократного вменения, но при этом emmeans говорят мне: «Не удается обработать объект класса« mitml.result »».
Мне интересно, есть ли способ получить объединенные расчетные значения из проведенного мной анализа множественного вменения?
Фреймы данных, которые я анализирую, являются продольными / повторными меры и в длинном формате. В линейной смешанной модели я хочу получить расчетные средние для эффекта взаимодействия 2x2, а в маргинальной модели я пытаюсь получить оценочные средние для 6 уровней переменной времени. Результат во всех моделях непрерывный.
Вот мой код
# mixed model
fml <- Dep + time ~ 1 + (1|id)
imp <- panImpute(data=Data, formula=fml, n.burn=50000, n.iter=5000, m=100, group = "treatment")
summary(imp)
plot(imp, trace="all")
implist <- mitmlComplete(imp, "all", force.list = TRUE)
fit <- with(implist, lme(Dep ~ time*treatment, random = ~ 1|id, method = "ML", na.action = na.exclude, control = list(opt = "optim")))
testEstimates(fit, var.comp = TRUE)
confint.mitml.testEstimates(testEstimates(fit, var.comp = TRUE))
# marginal model
fml <- Dep + time ~ 1 + (1|id)
imp <- panImpute(data=Data, formula=fml, n.burn=50000, n.iter=5000, m=100)
summary(imp)
plot(imp, trace="all")
implist <- mitmlComplete(imp, "all", force.list = TRUE)
fit <- with(implist, geeglm(Dep ~ time, id = id, corstr ="unstructured"))
testEstimates(fit, var.comp = TRUE)
confint.mitml.testEstimates(testEstimates(fit, var.comp = TRUE))