我想根据变量的其他值的分布来估算数据集中的缺失值。
想象一下,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 #
有人可以帮忙吗?
约翰
答案 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虽然。