我从 SQL 数据库的历史报价数据创建了一个 xts 对象。我想创建刻度数据的子集,例如:
显示上午 10 点到下午 2:30 之间的每日刻度。这将允许我根据一天中的时间为特定的交易想法创建特定的数据集。我的索引格式如下:
> index(merged[3567,])
[1] "2011-08-01 13:17:59 SAST"
xts 专家能否告诉我如何创建这些子集?任何建议将不胜感激。
您可以使用时间子集来做到这一点:
merged["T10:00/T14:30"]
您可以使用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]