Как насчет того, чтобы вы использовали пакет lubridate
, сначала каждый день узнавайте начальную точку, которая, по вашему мнению, меняет вид случайным образом, а затем используйте функцию minutes
Так было бы что-то вроде:
five_minutes_after = starting_point_each_day + minutes(5)
Затем вы можете использовать обычное подмножество xts
, делая что-то вроде:
5_min_period = paste(starting_point_each_day,five_minutes_after,sep='/')
xtsobj[5_min_period]
Edit:
@ Joshua
Я думаю, что это работает, посмотрите на этот пример:
library(lubridate)
x <- xts(cumsum(rnorm(20, 0, 0.1)), Sys.time() - seq(60,1200,60))
starting_point_each_day= index(x[1])
five_minutes_after = index(x[1]) + minutes(5)
five_min_period = paste(starting_point_each_day,five_minutes_after,sep='/')
x[five_min_period]
В моем предыдущем примере я допустил ошибку, поставил Five_min_period между кавычками.
Это то, на что ты указывал, Джошуа? Также, возможно, отправная точка не нужна, просто:
until5min=paste('/',five_minutes_after,sep="")
x[until5min]