【问题标题】:XTS - how to get data x days agoXTS - 如何获取 x 天前的数据
【发布时间】:2013-12-10 17:21:18
【问题描述】:

我知道如何从XTS 对象中获取特定日期的数据或具有特定日期的序列。

但是如何从XTS 获取 x 天前的数据?

假设我XTS 中的最新日期是今天,我想提取一周前的数据行。那会是什么样子?

【问题讨论】:

    标签: r xts


    【解决方案1】:

    一个示例数据集:

    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"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多