R包'老鼠'|使用方法'pmm'同时从插补中提取变量

时间:2018-09-17 13:55:49

标签: r prediction r-mice

我目前正在使用'pmm'方法使用R包鼠标估算数据。 最小工作示例(已加载数据集并正确指定了变量):

library(mice)
Example_imp <- mice(Example_data, m = 5, maxit = 50, method = "pmm", seed = 500)

我还想从插补中排除一些变量(社会统计学变量)。应该将它们用作预测变量,但是它们不会丢失任何值,这就是为什么无需对其进行插补的原因。我找到了一种指定方法的方法,以便从插补中排除指定的变量:

init <- mice(Example_data, maxit = 0) 
meth <- init$method
meth[c("Age", "Nationality", "Gender", "Educ")]=""
Example_imp2 <- mice(Example_data, m = 5, maxit = 50, method = meth, seed = 500)

但是,当我估算数据时,只能指定一次“方法”,即,可以指定method = "pmm"method = meth。我不能“双重指定”它。那么如何使用pmm方法为何仍要从插补中排除某些变量,而仅将其用作预测变量呢?

非常感谢!

1 个答案:

答案 0 :(得分:1)

您需要在mice()中设置一个predictorMatrix值

例如nhanes数据集:

   age  bmi hyp chl
1   1   NA  NA  NA
2   2 22.7   1 187
3   1   NA   1 187
4   3   NA  NA  NA

使用所有变量进行插补的默认预测变量矩阵如下:

     age hyp chl
age   0   1   1
hyp   1   0   1
chl   1   1   0

例如,如果不需要chl的插补,那么我们需要将chl行全部设为0,然后将以下内容设置为您的dictorMatrix

    age hyp chl
age   0   1   1
hyp   1   0   1
chl   0   0   0