例如,假设我想从格式如下的时间序列中提取每天 09:04:00 的价格:
DateTime | Price
2011-04-09 09:01:00 | 100.00
2011-04-09 09:02:00 | 100.10
2011-04-09 09:03:00 | 100.13
(注意:实际数据中没有 |,我只是将其包含在这里是为了说明 DateTime 是索引,Price 是核心数据,并且两者在 xts 对象中是不同的)
并将这些提取的值放入 xts 向量中...最有效的方法是什么?
此外,如果我有一个跨境点差的五年时间序列,由于时差,点差在一年中的不同时间开放(例如冬季上午 9 点,夏季上午 10 点),我该如何操作让 R 考虑这些时间差异,并将上午 9 点至 16:30 或上午 10 点至 16:30 识别为相同的“日”间隔。
换句话说,我想将日内 1m 刻度数据文件转换为每日 OHLC 数据。通常只使用 xts 和 to.period 来执行此操作,但是 - 考虑到上面提到的时差 - 给出奇怪/奇怪的一天开始/结束时间
非常感谢任何建议!
最佳答案
您可以使用带有 xts 子集的“T”前缀来指定每天的时间间隔。您必须指定一个间隔;一次不行。
set.seed(21)
x <- xts(cumprod(1+rnorm(2*60*24)/100),
as.POSIXct("2011-04-09 09:01:00")+60*(1:(2*60*24)))
x["T09:01:59/T09:02:01"]
# [,1]
# 2011-04-09 09:02:00 0.9980737
# 2011-04-10 09:02:00 1.0778835
关于r - 如何从 R 中的 1 分钟刻度数据中提取特定的重复时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5603267/