使用 mitml、nlme 和 geepack R 包进行多重插补后获取估计平均值

问题描述 投票:0回答:2

我正在通过包

mitml
(使用
panimpute()
函数)运行多级多重插补,并通过包
nlme
geepack
以及
mitml:with()
函数拟合线性混合模型和边际模型。

我可以通过

testEstimates()
函数获得估计值、p 值等,但我也希望获得模型预测变量的估计均值。我尝试过
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))
r nlme emmeans mi
2个回答
0
投票

有没有办法从我运行的多重插补分析中获得汇总估计平均值?

这不是没有

Data
的代表,所以我无法验证这是否适合您。但是
emmeans
mira-class
包中的
mice
(列表)模型提供支持。因此,如果您使用
with()
而不是
mids
类对象来拟合
mitml.list
中的模型,那么您可以使用它来获得结果的边际均值(以及之后的任何对比或成对比较)。

使用在here找到的示例数据,这会令人不舒服地加载外部工作区:

con <- url("https://www.gerkovink.com/mimp/popular.RData")
load(con)

## imputation

library(mice)

ini <- mice(popNCR, maxit = 0)
meth <- ini$meth
meth[c(3, 5, 6, 7)] <- "norm"

pred <- ini$pred
pred[, "pupil"] <- 0

imp <- mice(popNCR, meth = meth, pred = pred, print = FALSE)


## analysis

library(lme4) # fit multilevel model
mod <- with(imp, lmer(popular ~ sex + (1|class)))

library(emmeans) # obtain pooled estimates of means
(em <- emmeans(mod, specs = ~ sex) )
pairs(em) # test comparison

0
投票

我也面临着同样的问题。我可以知道你的电子邮件地址吗?

© www.soinside.com 2019 - 2024. All rights reserved.