我目前正在使用'pmm‘方法输入R包mice的数据。最小工作示例(给定加载的数据集和正确指定的变量):
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方法,为什么仍然将一些变量排除在推算之外,而只将它们用作预测值呢?
发布于 2018-09-18 01:27:09
您需要在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,然后将以下代码设置为您的predictorMatrix
age hyp chl
age 0 1 1
hyp 1 0 1
chl 0 0 0https://stackoverflow.com/questions/52369448
复制相似问题