Raw Data na.approx desired result
1 1 1
NA 3 4
5 5 5
6 6 6
7 7 7
NA 8 4
NA 9 7
10 10 10
13 11 13
14 12 14
默认情况下,我相信na.approx
中的R
会在两个已知值之间插入NA
; NA
之前和之后的一个(结果将被视为列" na.approx"上面)。有没有办法可以根据接下来的两个已知值更改此函数进行插值?例如,第一个N
A使用5和6进行插值....但不是1和5。
答案 0 :(得分:0)
我不确定是否存在与您想要做的完全相同的事情,但您可以通过以下方式获得类似的结果:
> data <- c(1, NA, 5,6,7,NA,NA,10,13,14)
> ind <- which(is.na(data))
> sapply(rev(ind), function(i) data[i] <<- data[i + 1] - 1)
> data
[1] 1 4 5 6 7 8 9 10 13 14