【问题标题】:Rbind with XTS. How to stack without sorting by index date与 XTS 绑定。如何在不按索引日期排序的情况下堆叠
【发布时间】:2023-03-24 04:40:01
【问题描述】:

我正在使用 quantmod 生成带有股票信息的 XTS 对象,并且我希望编译/堆叠一堆 XTS 文档以处理代码。将 Rbind 与 XTS 一起使用,我发现它不会将 XTS 堆叠在一起,而是按日期合并和排序:

x <- xts(1:10, Sys.Date()+1:10)
x
       [,1]
2014-07-10    1
2014-07-11    2
2014-07-12    3
2014-07-13    4
2014-07-14    5
2014-07-15    6
2014-07-16    7
2014-07-17    8
2014-07-18    9
2014-07-19   10
 y <- xts(rep(2,3), Sys.Date()+c(1,2,3))
 y
       [,1]
2014-07-10    2
2014-07-11    2
2014-07-12    2
 rbind(x,y)
       [,1]
2014-07-10    1
2014-07-10    2
2014-07-11    2
2014-07-11    2
2014-07-12    3
2014-07-12    2
2014-07-13    4
2014-07-14    5
2014-07-15    6
2014-07-16    7
2014-07-17    8
2014-07-18    9
2014-07-19   10

警告信息: 在 rbind(deparse.level, ...) : 不匹配的类型:将对象转换为数字

问题 1 - 为什么会有警告信息?

问题 2 - 如何正确堆叠 XTS,可能是一个新手问题,但需要绑定看起来像这样:

2014-07-10    1
2014-07-11    2
2014-07-12    3
2014-07-13    4
2014-07-14    5
2014-07-15    6
2014-07-16    7
2014-07-17    8
2014-07-18    9
2014-07-19   10
2014-07-10    2
2014-07-11    2
2014-07-12    2

【问题讨论】:

    标签: r xts quantmod rbind


    【解决方案1】:

    1) x 是整数; y 是数字。 xts 对象是具有有序索引属性的矩阵。您不能在矩阵中混合类型,因此x 将转换为数字。

    2) 你不能。 xts 是一个时间序列类。如果 xts 允许您的数据不按时间排序,那将是非常糟糕和混乱的。

    【讨论】:

    • Joshua - 如果 xts 无法堆叠,则必须有替代品。我可以将 xts 转换为数据框并进行相应的绑定吗?对象不必保留 xts。我只需要运行 quant mod(输出 xts)编译结果,并对完整数据集进行分析。
    • @user3821696:当然:rbind(as.matrix(x),as.matrix(y))
    【解决方案2】:

    xts 是从zoo 派生的时间序列对象。它只是一个按时间索引的矩阵对象。在两个xts 对象之间使用rbind 将按时间对它们进行排序。

    如果您想将它们堆叠在一起,您应该只使用它们的coredata,即matrix 对象。

    datax = coredata(x) 
    datay = coredata(y)
    
    rbinding = rbind(datax, datay)
    

    但您会丢失时间信息。我不知道你这里的海豚是什么,但这应该可以解决问题。

    如果您想“保留”数据来源的 xts 对象的信息,您可以改用合并,它将创建您正在使用的股票行情的列,但数据位于正确的时间位置。

    merge(x, y, join = "outer", fill = NA)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-16
      • 2015-12-12
      • 2022-01-09
      • 2020-12-04
      • 1970-01-01
      • 2011-08-25
      • 1970-01-01
      相关资源
      最近更新 更多