R按一天中的特定小时子集时间序列

时间:2014-05-13 14:40:40

标签: r subset

我有很长一段时间(动物园),' obs'一小时的时间步和三年的数据

> head(obs)

               time obs   
2009-12-22 01:00:00 23.708
2009-12-22 02:00:00 23.708
2009-12-22 03:00:00 23.708
2009-12-22 04:00:00 23.708
2009-12-22 06:00:00 23.708
2009-12-22 07:00:00 23.708

我只对每天01:00:00的读数感兴趣,并希望仅对此系列进行分组。无论如何要做到这一点?我已经在使用' xts'包裹但无法找到方法。

2 个答案:

答案 0 :(得分:0)

尝试:

subset(obs, as.numeric(format(obs$time, "%H"))==1)

这将从obs$time中提取0到24格式的小时数,并仅将其设置为等于1的时间。

答案 1 :(得分:0)

xts是正确的包装。你感兴趣的是功能

[。xts(提取xts对象的子集)

例如:

obs["T01:00/T01:59"]

将返回“T”时间在01:00和01:59之间的所有观察。