首页 文章

R包'Mice' |使用方法'pmm'同时从插补中排除变量

提问于
浏览
0

我目前使用'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"一次,也就是说,我指定 method = "pmm"method = meth . 我不能"double-specify"它 . 那么我怎样才能使用pmm方法为什么仍然将一些变量排除在插补之外并仅将它们用作预测变量?

非常感谢提前!

1 回答

  • 1

    你需要在mouse()中设置一个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然后将以下内容设置为预测器矩阵

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

相关问题