估算缺失值

时间:2013-07-10 13:09:10

标签: r missing-data imputation

我想根据变量的其他值的分布来估算数据集中的缺失值。

想象一下,30%的值= 1,20%= 2和50%= 3,实际上我想做以下事情:

impute(var,1) # for 30 % of the NA occurrences #
impute(var,2) # for 20 % of the NA occurrences #
impute(var,3) # for 50 % of the NA occurrences #

有人可以帮忙吗?

约翰

2 个答案:

答案 0 :(得分:2)

如果我理解你想要:

var[is.na(var)] <- sample(1:3, sum(is.na(var)), replace=TRUE, prob=c(0.3,0.2,0.5)) 

答案 1 :(得分:2)

  

我想根据变量的其他值的分布来估算数据集中的缺失值。

我对Tibshirany的 pamr 包非常满意。它将插补基于缺失数据点的k个最近邻居。只需致电:

imputed.matrix  <- pamr.knnimpute(list(x==matrix.with.missing.data))[['x']]

通常工作正常。

请注意pamr.knnimpute是不确定的;所有估算对的典型相关性> 0.9虽然。