我想根据变量其他值的分布来估算数据集中的缺失值。
想象一下,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 #
有人可以帮忙吗?
约翰
我想根据变量其他值的分布来估算数据集中的缺失值。
想象一下,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 #
有人可以帮忙吗?
约翰
如果我理解正确你想要:
var[is.na(var)] <- sample(1:3, sum(is.na(var)), replace=TRUE, prob=c(0.3,0.2,0.5))
我想根据变量其他值的分布来估算数据集中的缺失值。
我对 Tibshirany 的pamr包非常满意。它基于缺失数据点的 k 个最近邻进行插补。简单地调用:
imputed.matrix <- pamr.knnimpute(list(x==matrix.with.missing.data))[['x']]
通常工作正常。
请注意,这pamr.knnimpute
是不确定的;但是,所有估算对的典型相关性 > 0.9。