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

R:在时间序列中填充缺失的日期?,r,time-series,fill,zoo,R,Time Series,Fill,Zoo,我有一个动物园的时间序列,上面有失踪的日子。 为了填补它,并有一个连续的系列我做 我从开始到结束生成一个计时日期时间序列 我将我的系列与此系列合并 我使用na.locf将NAs替换为las观测 我删除syntetic chron序列 我能做得更简单些吗? 可能有一些与频率相关的索引函数?如果使用带有索引的“空”对象,会稍微容易一些 > x <- zoo(1:10,Sys.Date()-10:1)[c(1,3,5,7,10)] > empty <- zoo(order.by

我有一个动物园的时间序列,上面有失踪的日子。 为了填补它,并有一个连续的系列我做

我从开始到结束生成一个计时日期时间序列

我将我的系列与此系列合并

我使用na.locf将NAs替换为las观测

我删除syntetic chron序列

我能做得更简单些吗?
可能有一些与频率相关的索引函数?

如果使用带有索引的“空”对象,会稍微容易一些

> x <- zoo(1:10,Sys.Date()-10:1)[c(1,3,5,7,10)]
> empty <- zoo(order.by=seq.Date(head(index(x),1),tail(index(x),1),by="days"))
> na.locf(merge(x,empty))
2010-08-14 2010-08-15 2010-08-16 2010-08-17 2010-08-18 
         1          1          3          3          5 
2010-08-19 2010-08-20 2010-08-21 2010-08-22 2010-08-23 
         5          7          7          7         10 

zoo常见问题解答的问题13介绍了这一点,该问题使用na.locf的xout=参数来消除合并步骤。由于最近添加了此功能,请确保您正在使用zoo 1.6.4或更高版本。

如果我的时间增量为15分钟并计时,会是什么情况??感谢基于我对
?seq.dates
的简要了解,您似乎无法使用
seq
创建一个日内
计时序列。我建议使用不同的索引类。
> index(x) <- as.POSIXct(index(x))
> na.locf(x, xout=seq(head(index(x),1),tail(index(x),1),by="15 min"))