在动物园时间序列的 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)
我有一个动物园时间序列,我想在 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)