R帮助 - na.approx类似于Excel中的SuperTrend

时间:2015-08-17 15:59:18

标签: r interpolation trend

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。

1 个答案:

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