首页 > 解决方案 > R:数据插补除以性别

问题描述

我有数据集

mydat=structure(list(sex = c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L), emotion = c(20L, 
15L, 49L, NA, 34L, 35L, 54L, 45L), IQ = c(101L, 98L, 105L, NA, 
123L, 120L, 115L, NA)), .Names = c("sex", "emotion", "IQ"), class = "data.frame", row.names = c(NA, 
-8L))

所以我想使用 MICE 库进行插补。

mydat <- mice(mydat)
complete(mydat)

但是我怎样才能按性别分别对所有变量进行插补呢?

性别1是男人,2是女人。

标签: rdplyrplyrlapplyr-mice

解决方案


一个更费力的解决方案:

prep = mice(mydat, maxit = 0) 
imp_meth = prep$method
imp_meth[c("sex")] = ""
pred_m = prep$predictorMatrix
pred_m[, c("IQ", "emotion")] = 0

set.seed(123)
imputed <- mice(mydat, method = imp_meth, predictorMatrix = pred_m)
complete(imputed)

推荐阅读