Удалить записи с пятницы по воскресенье на объекте XTS
Мой объект xts выглядит так:
BID OFR PRICE
2015-01-01 13:15:00 1.48168 1.48285 0.3935712
2015-01-01 13:20:00 1.48013 1.48102 0.3924305
2015-01-01 13:25:00 1.47922 1.48012 0.3918190
2015-01-01 13:30:00 1.47947 1.47970 0.3917616
2015-01-01 13:35:00 1.48019 1.48046 0.3922617
.
.
.
.
Я установил часовой пояс на EST. Как удалить записи с пятницы 17:05 по восточному времени (EST) до воскресенья 17:00 по пасхальному времени (EST)? Заранее спасибо.
1 ответ
Решение
Изучите документацию в xts
за ?.indexwday
,
Вы можете сделать это, чтобы получить данные, которые вы хотите для указанных (Forex) торговых часов, при условии, что dat
содержит ваш xts
Временные ряды:
is_fri <- .indexwday(dat) == 5 & (.indexhour(dat) >= 18 | .indexhour(dat) == 17 & .indexmin(dat) >= 5)
is_sat <- .indexwday(dat) == 6
is_sun <- .indexwday(dat) == 0 & .indexhour(dat) <= 16
xts_data_you_want <- dat[!(is_fri | is_sat | is_sun)]
.indexwday
возвращает 1 для понедельника, 2 для вторника и т. д. для отметок времени в xts
объект, и что должно быть самоочевидным числовые значения также возвращаются для .indexmin
, .indexhour
,
В качестве проверки вы можете сделать weekdays(index(dat))
видеть .indexwday
возвращает то, что вы ожидаете для определенных временных отметок.