根据mice
包的文档,如果我们想在对交互项感兴趣时对数据进行插补,我们需要使用被动插补。这是通过以下方式完成的。
library(mice)
nhanes2.ext <- cbind(nhanes2, bmi.chl = NA)
ini <- mice(nhanes2.ext, max = 0, print = FALSE)
meth <- ini$meth
meth["bmi.chl"] <- "~I((bmi-25)*(chl-200))"
pred <- ini$pred
pred[c("bmi", "chl"), "bmi.chl"] <- 0
imp <- mice(nhanes2.ext, meth = meth, pred = pred, seed = 51600, print = FALSE)
据说
Imputations created in this way preserve the interaction of bmi with chl
bmi.chl
在这里,在原始数据集中创建了一个名为的新变量。该meth
步骤说明需要如何从现有变量中估算此变量。该pred
步骤表示我们不想预测bmi
和chl
从bmi.chl
. 但是现在,如果我们想应用一个模型,我们该如何进行呢?定义的产品"~I((bmi-25)*(chl-200))"
是否只是一种控制主效应的估算值的方法,即bmi
和chl
?
如果我们要拟合的模型是glm(hyp~chl*bmi, family="binomial")
,那么从估算数据中指定该模型的正确方法是什么?fit1
还是fit2
?
fit1 <- with(data=imp, glm(hyp~chl*bmi, family="binomial"))
summary(pool(fit1))
或者我们是否必须以某种方式使用创建的新变量的估算值,即bmi.chl
?
fit2 <- with(data=imp, glm(hyp~chl+bmi+bmi.chl, family="binomial"))
summary(pool(fit2))