R语言 分类/因子变量的多水平多重插补(MICE)?

iecba09b  于 2023-10-13  发布在  其他
关注(0)|答案(1)|浏览(166)

我有一个数据集,我试图在多水平设置中使用micemiceaddsmicemd包的多重插补作为分类/因子变量。我可以对连续变量使用2l.2stage.pois方法,它工作得很好。分类变量的插补也适用于polyreg,但这不使用多水平数据。
下面是说明我的问题的可复制代码。

dat <- data.frame(x=rep(c("A", "B"), 50),
                  y=rep(c(10:14), 20),
                  r=rep(c(1:50), 2),
                  z=rep(c(1:4), 25))

dat[40:44, c("x")] <- NA
dat[60:64, c("y")] <- NA
dat[80:84, c("r")] <- NA

predm <- mice::make.predictorMatrix(data=dat)

predm[, c("z")] <- -2
predm[, c("r")] <- 3
predm[row(predm) == col(predm)] <- 0
meth <- c("x"="polyreg", "y"="2l.2stage.pois", "r"="", "z"="")

imputed = mice(dat, method=meth, predictorMatrix=predm, m=1, maxit=1)
imp <- complete(imputed)

table(imp$x, dat$x, useNA = "always")
table(imp$y, dat$y, useNA = "always")

本质上,我试图用可能以2l.开头的东西来代替polyreg。我试过2l.2stage.bin,但那是二进制变量。谢谢你,谢谢

z5btuh9x

z5btuh9x1#

目前在mice或相邻的R包中没有实现多级多项式回归插补。解决方法是使用pmm。从经验上讲,pmm适用于非聚类数据中的分类变量,另请参阅mice书籍FIMD中的建议。
多级pmm方法在miceadds中实现为2l.pmm,在micemd中实现为2l.2stage.pmm

相关问题