在动物园时间序列的 end/start 添加时间步数

Adding number of time steps at the end/start of a zoo time series

我有一个动物园时间序列,我想在 end/start 添加一些具有相同时间间隔的虚拟时间步长。例如,我有以下时间序列,我想在末尾再添加两个时间步长,时间为 ......21:00:00 BST......21:30:00 BST,其中所有观察值均为零。

my.zoo.ts = zoo(matrix(c(1:8),ncol=2),
            c("2012-07-05 19:00:00 BST", "2012-07-05 19:30:00 BST", 
              "2012-07-05 20:00:00 BST", "2012-07-05 20:30:00 BST"))

最简单的方法是什么? (除了编辑上面的代码,当然))

该系列目前使用的字符串可能不是您想要的,因此首先将它们转换为 POSIXct date/time 对象:

time(my.zoo.ts) <- as.POSIXct(time(my.zoo.ts))

时间似乎间隔了 30 分钟,所以假设我们想在最后一次过去 30 分钟时在两列中追加 100 和 101:

z <- zoo(cbind(100, 101), end(my.zoo.ts) + 30 * 60)
rbind(my.zoo.ts, z)