现在我正在做这个项目,它使用现有数据线性插入缺失y值的值。这是基本思想:向量y是数据集中的y值:
y <- c(1, NA, NA, 2, 3, 4, NA, 5)
x值是
x <- 1:8
我想要的是使用最接近NA点的两个非零数据点和相应的x值线性插值y中NA
的值,即对于点2,y值将被插值使用点1和4中的x和y值,即(1,1)和(4,2)。唯一的限制是不允许循环。有人帮忙吗?
答案 0 :(得分:3)
似乎是approxfun
的良好候选者,它进行线性插值。只需使用非NA值
y <- c(1, NA, NA, 2, 3, 4, NA, 5)
x <- 1:8
f<-approxfun(x[!is.na(y)], y[!is.na(y)])
f(x)
# [1] 1.000000 1.333333 1.666667 2.000000 3.000000 4.000000 4.500000 5.000000