0

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

想象一下,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 #

有人可以帮忙吗?

约翰

4

2 回答 2

2

如果我理解正确你想要:

var[is.na(var)] <- sample(1:3, sum(is.na(var)), replace=TRUE, prob=c(0.3,0.2,0.5)) 
于 2013-07-10T13:15:39.053 回答
2

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

我对 Tibshirany 的pamr包非常满意。它基于缺失数据点的 k 个最近邻进行插补。简单地调用:

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

通常工作正常。

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

于 2013-07-10T13:19:32.417 回答