【问题标题】:vectorized expression to rbind a list of dataframes? [duplicate]rbind 数据帧列表的矢量化表达式? [复制]
【发布时间】:2015-01-22 20:01:25
【问题描述】:

如果这是一个重复的问题,请提前道歉,但我在堆栈溢出档案中找不到任何内容。

我编写了一个返回动物园对象的函数(makeTrace1)。在第二个函数 (make2DHist) 中,我多次调用此函数并生成数据帧列表(从返回的 zoo 对象转换而来)。然后,我想将列表中的所有这些数据帧合并在一起。我可以将特定元素 rbind 在一起,因此我可以使用 for 循环来做到这一点,但是是否有矢量化表达式可以将列表中的所有数据帧 rbind 在一起?

这是我的代码:

make2DHist <- function()
{

    v = list()
      times=4

    for(i in 1:times)
    {
        vv = makeTrace1()
        v[[i]] = data.frame(Date=time(vv), vv, check.names = FALSE, row.names=NULL) 

    } 

    hhh = rbind(v[[1]], v[[2]]) <-----this works
    hhh2 = rbind(v[c(1:4)]) <-this does not work


}
m= make2DHist()

【问题讨论】:

  • 我会选择do.call("rbind", lst) 或使用data.tablerbindlist(lst)
  • @user20650 我知道我忘记了什么。非常感谢!
  • @Henrik 谢谢,但这可能不是重复的。这个问题是关于如何展平列表的问题。这个问题是关于如何矢量化 rbind。我在发布这个问题之前阅读了这个问题。

标签: r list dataframe


【解决方案1】:
> x <- do.call(rbind, your_list_of_matrices_or_data_frames_here)

【讨论】:

  • 还可以查看rbind.fill 中的(非常有用的)plyr 包。
  • 谢谢!我是 R 新手,所以这些建议真的很有帮助。
猜你喜欢
  • 2010-12-11
  • 1970-01-01
  • 2019-06-18
  • 2017-05-26
  • 2013-05-08
  • 1970-01-01
  • 2021-10-12
  • 2022-10-07
  • 1970-01-01
相关资源
最近更新 更多