【问题标题】:rbind an empty xts with an xtsrbind 一个空的 xts 和一个 xts
【发布时间】:2022-03-22 04:00:26
【问题描述】:

我有一个名为 Portfolio 的 xts 对象(单行),如下所示:

               A      B      C       D       E
2010-01-04 61006.1 61628.5 62072.1 60068.66 60088.47

"Portfolio" 在 for 循环的每次迭代中都会发生变化,我想创建一个名为 Portfolio.Table 的 xts 表,它保留了 "Portfolio" 的历史记录。

我正在做 Portfolio.Table <- xts() 并且我正在做的 for 循环中的每次迭代结束:Portfolio.Table <- rbind(Portfolio.Table,Portfolio) 但我收到一个错误:data must have same number of columns to bind by row

如何创建具有设定列数的空白 xts 对象?有没有更优雅的方式来做到这一点?

【问题讨论】:

  • 你不能在每次迭代中先创建一个空列表并填写"Portfolio" 吗?最后你可能会做do.call(rbind, Portfolio.Table)。顺便说一句,你能举一个可重现的例子吗?

标签: r xts zoo


【解决方案1】:

使用rbind.fill:

library(plyr)
rbind.fill(data,data2)

【讨论】:

    【解决方案2】:

    假设p 在最后的注释中重复显示,以NULL 开头,而不是xts(),如下所示。下面的代码运行后p.table等于p

    p.table <- NULL
    p.table <- rbind(p.table, p)
    

    注意

    我们假设我们有一个 xts 对象

    library(xts)
    
    v <- c(A = 61006.1, B = 61628.5, C = 62072.1, D = 60068.66, E = 60088.47)
    p <- xts(t(v), as.Date("2010-01-04"))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-29
      • 2020-03-13
      • 2011-10-29
      • 2020-03-14
      • 2014-12-05
      • 2019-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多