【发布时间】:2015-01-15 10:11:09
【问题描述】:
我想用序列中的元素替换向量的 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 进行排序。
【问题讨论】:
-
x[is.na(x)] <- replace.seq -
呃,谢谢@akrun!
-
我可以建议您将标题更改为“将一个向量中的 NA 替换为另一个向量的顺序元素”吗?只是让它更清楚一点。为了比较,
zoo::locf将NA替换为同一个向量中的前瞻值;颠倒向量的顺序将允许回溯填充。 -
@CarlWitthoft 同意,这更清楚。现在改了,谢谢。
-
@akrun stackoverflow.com/questions/31423931/…你能帮忙解决这个问题吗?
标签: r vectorization