在R中查找插值

时间:2017-11-02 15:00:52

标签: r interpolation

x <- c(0, 1, 2, 3, 4, 5)
y <- c(0, 10, NA , 30, NA)

(不太确定如何在数据帧中放置NA值)

那么......我的问题是,如何用插值取代NA?

1 个答案:

答案 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

我无法想出一个没有循环的方法来解决这个问题,但我相信其他人会找到一种更有效的方法。