我目前正在使用'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方法为何仍要从插补中排除某些变量,而仅将其用作预测变量呢?
非常感谢!
答案 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