xts tick数据滚动子集

时间:2011-08-23 06:40:14

标签: r xts

我已经从历史记录数据创建了一个xts对象,来自SQL数据库。我想创建tick数据的子集,例如:

每天上午10点到下午2点半之间显示每日蜱。这将允许我根据一天中的时间为特定的交易想法创建特定的数据集。我索引的格式如下:

> index(merged[3567,])
[1] "2011-08-01 13:17:59 SAST"

请问xts的专家请告诉我如何创建这些子集?任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:4)

您可以使用时间子集进行操作:

merged["T10:00/T14:30"]

答案 1 :(得分:1)

您可以使用difftime来计算从一天开始的小时数,例如:

diffs <- difftime(time(merged), as.Date(time(merged)), units="hours", tz="SAST")

然后用它作为布尔索引进行子集化:

merged[diffs > 10 & diffs < 14.5]

您还可以使用POSIXlt

merged[as.POSIXlt(time(merged))$hour > 10]