首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对返回多个表的函数应用rbindlist

问对返回多个表的函数应用rbindlist
EN

Stack Overflow用户
提问于 2020-10-09 10:04:17
回答 1查看 158关注 0票数 0

我们使用inner <- rbindlist(lapply(..., FUN))来组合使用future包创建的仿真结果。在这种情况下,rbindlist(lapply(..., FUN))是由rbindlist(future_lapply(..., inner))嵌套的,因为模拟分布在线程上。

只要FUN()返回一个表,它就能正常工作。我们现在想对仿真进行更详细的分析,这需要我们从FUN()返回多个表。表现在将有不同的形状,我们想要结合喜欢。

如果*apply()返回多个表,如何使用FUN()函数将表组合在一起?我们想出了一个解决方案,它可以在下面工作,但并不是很好。对于如何改进这段代码以再次适应*apply(X, FUN)结构,有什么建议吗?

代码语言:javascript
复制
foo <- list(
  list(data.table(a = 1), data.table(b = 2)), 
  list(data.table(a = 3), data.table(b = 4)),
  list(data.table(a = 5), data.table(b = 6))
)
MapRbind <- function(...) {
  Map(rbind, ...) 
}
do.call(MapRbind, foo)

我看不到将对do.call()的调用转移到MapRbind()中的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-09 10:13:29

就是这个?

代码语言:javascript
复制
MapRbind <- function(our_list) {
  do.call(function(...) Map(rbind, ...), our_list)
}

> MapRbind(foo)
[[1]]
   a
1: 1
2: 3
3: 5

[[2]]
   b
1: 2
2: 4
3: 6
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64277886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档