有些情况下缺失值会零星的分布在数据当中,这时去掉所有包含缺失值的样本就不行了,直接用0去填补缺失值也不行。
所以此时就应该用拟合的方法来填补缺失值。
library(mice) init = mice(my_data, maxit=0) meth = init$method predM = init$predictorMatrix imputed = mice(my_data, method=meth, predictorMatrix=predM, m=5) imputed <- complete(imputed) rownames(imputed) <- rownames(my_data) sapply(imputed, function(x) sum(is.na(x))) my_data[1:20,1:10] imputed[1:20,1:10]
参考: