给定一个日期,我可以访问动物园向量中的相应元素。例如:
z[as.POSIXct(1213708500, origin="1970-01-01")]
这将返回
2008-06-17 14:15:00
-8.28123
我想获得一个由30个连续元素组成的向量(以上面的元素结束)。
如果不知道起始元素的时间戳,我该如何有效地实现这一点?
我知道可以使用window函数来实现,但它需要起始时间和结束时间。
给定一个日期,我可以访问动物园向量中的相应元素。例如:
z[as.POSIXct(1213708500, origin="1970-01-01")]
这将返回
2008-06-17 14:15:00
-8.28123
使用类似以下代码:
ind <- which(index(z)==as.POSIXct(1213708500, origin="1970-01-01")) + seq(-29,0)
接着是
z[ind]
使用which()
函数可以得到匹配的索引,然后您可以通过常规索引选择连续的30个元素。
help(match)
/ help("%in%")
。此外,我非常喜欢xts包,因为它的索引方式可以像这样说:x["2010-01::2010-06"]
获取六个月,小时/分钟/秒等也是如此。最终,这更好,因为在我们讨论的内容中,您确实依赖于某个相等性为真。话虽如此,我想min(which(... >= ...))
也可以工作。 - Dirk Eddelbuettel
?rollapply
。 - G. Grothendieck