Я вменяю NA со случайно выбранным значением из данных. Случайно выбранные значения взвешиваются в соответствии с их частотой. Например у меня есть 5 значений:
[1,1,2,3,NA]
С вероятностью 50% я бы заменил ее на 1, а на 25% на 2 и на 25% на 3. Имеет ли это смысл?
Я написал следующую функцию, чтобы сделать это по большому набору данных, и использую его в отчете, и я хотел бы правильно сослаться на этот метод вменения, потому что я предполагаю, что он уже существует и имеет имя.
my.imputer <- function(x) {
x[which(is.na(x))] <- sample(na.omit(x),
length(x[which(is.na(x))]),
replace = TRUE,
prob = sort(sapply(na.omit(x),
function(y) table(y) / length(na.omit(x)))))
}