【发布时间】:2016-05-07 21:58:07
【问题描述】:
我在数据框中有一个看起来像这样的变量
x=c(1,2,4,6,7,NA,NA,5,NA,NA,9)
x 中的每个元素都是唯一编号,我想用唯一编号替换 NA。
我尝试过的是这样的,但想知道是否有更有效的方法来做到这一点。
x[is.na(x)]=sample(10:15,replace=F)
Warning message:
In x[is.na(x)] = sample(10:15, replace = F) :
number of items to replace is not a multiple of replacement length
谢谢!
【问题讨论】:
-
也许:
x[is.na(x)] <- sample(seq(10, length = sum(is.na(x))), replace = FALSE) -
我有点喜欢
x[is.na(x)] <- (1:length(x))[!(1:length(x) %in% x)],因为我可以确切地知道它在做什么。 -
可以是 any 唯一编号吗?一定要随机生成吗?