na.locf 但不做尾随 NA

Posted

技术标签:

【中文标题】na.locf 但不做尾随 NA【英文标题】:na.locf but don't do trailing NAs 【发布时间】:2011-11-09 21:44:08 【问题描述】:

我有以下时间序列

> 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

直接 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

我如何做到这一点?

           [,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

我不希望最后一个观察结果被结转,除了最后一个非缺失值..即不替换尾随 NA。非常感谢您的帮助!

【问题讨论】:

【参考方案1】:

使用 zoo 包中的na.approx(由 xts 自动加载):

na.approx(y, method = "constant", na.rm = FALSE)

【讨论】:

以上是关于na.locf 但不做尾随 NA的主要内容,如果未能解决你的问题,请参考以下文章

R:在时间序列中填充缺失的日期?

使用乘数的 Swift 约束与尾随但不领先

OGL 4+/ GLSL / C++ - 尾随行星轨道

Apollo 如何足够聪明地知道何时合并,但不知道何时添加?

如果不存在但不更新,如何在猫鼬中创建

如果不存在但不更新,如何在猫鼬中创建