【发布时间】: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.table包rbindlist(lst) -
@user20650 我知道我忘记了什么。非常感谢!
-
@Henrik 谢谢,但这可能不是重复的。这个问题是关于如何展平列表的问题。这个问题是关于如何矢量化 rbind。我在发布这个问题之前阅读了这个问题。