用另一个向量的连续元素替换一个向量中的NA

时间:2015-01-15 10:11:10

标签: r vectorization

我想用序列中的元素替换向量的NA元素,例如:

x <- c(1, NA, 5, NA, NA, 2, 12, NA)
replace.seq <- -1:-4  # Can assume length(replace.seq) == sum(is.na(x))
goal <- c(1, -1, 5, -2, -3, 2, 12, -4)

这是一种有效的方法吗?我宁愿避免排序x

2 个答案:

答案 0 :(得分:2)

Per @akrun:

x[is.na(x)] <- replace.seq

答案 1 :(得分:2)

您可以使用replace

x <- replace(x, is.na(x), replace.seq)