2013-12-10 3 views
2

Я знаю, как получить данные за определенную дату или последовательность с определенной датой из объекта XTS.XTS - как получить данные x дней назад

Но как я могу получить данные за x-days ago от XTS?

Скажем, последняя дата в моем XTS сегодня, и я хочу извлечь строку данных неделю назад. Как это будет выглядеть?

ответ

4

Пример набора данных:

library(xts) 
data(sample_matrix) 
sample.xts <- as.xts(sample_matrix, descr='my new xts object') 

> head(sample.xts) 
#    Open  High  Low Close 
# 2007-01-02 50.03978 50.11778 49.95041 50.11778 
# 2007-01-03 50.23050 50.42188 50.23050 50.39767 
# 2007-01-04 50.42096 50.42096 50.26414 50.33236 
# 2007-01-05 50.37347 50.37347 50.22103 50.33459 
# 2007-01-06 50.24433 50.24433 50.11121 50.18112 
# 2007-01-07 50.13211 50.21561 49.99185 49.99185 

Вы можете использовать математические операторы + и - с датами.

refDate <- as.Date("2007-01-07") # a reference date 

sample.xts[refDate] 
#    Open  High  Low Close 
# 2007-01-07 50.13211 50.21561 49.99185 49.99185 

sample.xts[refDate - 3] # 3 days before 
#    Open  High  Low Close 
# 2007-01-04 50.42096 50.42096 50.26414 50.33236 

Кстати: Вы можете получить дату сегодня с Sys.Date().

Sys.Date() 
# [1] "2013-12-10" 
Смежные вопросы