我na.spline()
在使用包中的功能时遇到问题zoo
。尽管文档明确指出这是一个插值函数,但我得到的行为包括外推。
以下代码重现了该问题:
require(zoo)
vector <- c(NA,NA,NA,NA,NA,NA,5,NA,7,8,NA,NA)
na.spline(vector)
这个的输出应该是:
NA NA NA NA NA NA 5 6 7 8 NA NA
这将是内部 NA 的插值,将尾随 NA 留在原处。但是,相反,我得到:
-1 0 1 2 3 4 5 6 7 8 9 10
根据文档,这不应该发生。有什么方法可以避免外推吗?
我认识到在我的示例中,我可以使用线性插值,但这是一个 MWE。虽然我不一定会使用 na.spline() 函数,但我需要一些方法来使用三次样条进行插值。