R n*_*ice 8 r time-series zoo xts
我有以下时间序列
> y<- xts(1:10, Sys.Date()+1:10)
> y[c(1,2,5,9,10)] <- NA
> y
[,1]
2011-09-04 NA
2011-09-05 NA
2011-09-06 3
2011-09-07 4
2011-09-08 NA
2011-09-09 6
2011-09-10 7
2011-09-11 8
2011-09-12 NA
2011-09-13 NA
Run Code Online (Sandbox Code Playgroud)
一个直的na.locf给我这个:
> na.locf(y)
[,1]
2011-09-04 NA
2011-09-05 NA
2011-09-06 3
2011-09-07 4
2011-09-08 4
2011-09-09 6
2011-09-10 7
2011-09-11 8
2011-09-12 8
2011-09-13 8
Run Code Online (Sandbox Code Playgroud)
我怎么做到这一点?
[,1]
2011-09-04 NA
2011-09-05 NA
2011-09-06 3
2011-09-07 4
2011-09-08 4
2011-09-09 6
2011-09-10 7
2011-09-11 8
2011-09-12 NA
2011-09-13 NA
Run Code Online (Sandbox Code Playgroud)
我不希望最后一次观察结果除了最后一个非缺失值之外,即不会替换尾随的NA.非常感谢你的帮助!
使用na.approxzoo包(由xts自动加载):
na.approx(y, method = "constant", na.rm = FALSE)
Run Code Online (Sandbox Code Playgroud)