2013-12-10 21 views
2

我知道如何獲取特定日期的數據或來自XTS對象的特定日期的序列。XTS - 如何在x天前獲取數據

但是我怎樣才能從XTS x天前得到數據?

假設我的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" 
相關問題