在数据框列中,我有778个NA值。
本专栏中有21个唯一值。
我想将NA值公平地分配给所有这21个值。
示例:
37 NA values = 1, 37 NA values = 2 etc...
我该怎么做?
感谢您的帮助
答案 0 :(得分:1)
一种选择是使用sample
。假设您的列名为v
,那么您可以尝试:
选项#1:强>
v[is.na(v)] <- sample(v[!is.na(v)], length(v[is.na(v)]), replace = TRUE,
prob = rep(1, length(v[!is.na(v)])))
选项#2:使用带有参数rep_len
的{{1}}可以实现另一个更准确的选项:
length.out