x <- c(0, 1, 2, 3, 4, 5)
y <- c(0, 10, NA , 30, NA)
(不太确定如何在数据帧中放置NA值)
那么......我的问题是,如何用插值取代NA?
答案 0 :(得分:0)
这是你想要的吗?
x <- c(0, 1, 2, 3, 4, 5)
y <- c(0, 10, NA , 30, NA)
delta_y <- unique(na.omit(diff(y)))
for (i in 1:length(y)) {
if (is.na(y[i])) {
y[i] <- y[i - 1] + delta_y
}
}
> y
[1] 0 10 20 30 40
我无法想出一个没有循环的方法来解决这个问题,但我相信其他人会找到一种更有效的方法。