代码之家  ›  专栏  ›  技术社区  ›  Xavier Prudent

xts能否处理具有相同时间索引的多个时间序列?

  •  1
  • Xavier Prudent  · 技术社区  · 6 年前

    让我们考虑同时收集数据:

    library(xts)
    d <- data.frame(t = Sys.time()-1:10, a = 1:10, b = 11:20 )
    

    我可以使用以下方法创建时间序列对象:

    df.xts <- xts(d$a, order.by=d$t)
    

    如果我想用时间序列来描述两个变量a和b,比如

    df.xts <- xts(c(d$a,d$b), order.by=c(d$t,d$t))
    

    结果似乎合并了两个数据:

                    [,1]
    2018-02-16 15:13:19   10
    2018-02-16 15:13:19   20
    2018-02-16 15:13:20    9
    2018-02-16 15:13:20   19
    2018-02-16 15:13:21    8
    

    有没有办法在同一时间序列中拆分这两个变量?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Julius Vainora    6 年前

    确实有一种方法:

    df.xts <- xts(cbind(d$a, d$b), order.by = d$t)
    

    第一个参数是

    包含时间序列数据的对象

    这意味着它可能是多变量的,就像你的情况一样,而第二个参数是

    唯一时间/日期的对应向量

    因此,无需提供时间/日期矩阵。