R:doParallel foreach具有多个数据帧输出

梅尔

我有一个需要操纵三个数据帧的函数,所有的数据帧都具有不同的结构:

  • a:原始数据帧。这是我的功能的参数。给定某些条件,我需要从此处删除行。
  • b:在我的函数中创建了新的数据框。我的函数在这里添加所有行。
  • c:在我的函数中创建了另一个新的数据框。我的函数在这里添加所有行。

为了尝试并行处理,我坐了一个最小的代码(遵循此问题此博客),其中仅生成了b

# Set up the parallel
registerDoParallel( makeCluster(3L) )

b <- foreach(i = 1:nrow(f), .combine = rbind) %dopar% {
  tempB <- do_something_function()

  tempB
}

该示例运行完美,但是我缺少两个数据帧。我找到了其他答案,但我确实相信我的情况有所不同:

我可以更改a为行的数据框,然后将其删除,但是只要有任何意义,我就tempA需要合并所有行即可tempA在我链接的先前问题中,它们混合了所有输出。

F.私人

看来您的问题与并行性无关,而与合并结果有关。

解决方案示例(我认为这是最有效的实现方法):

library(foreach)
tmp <- foreach(i = seq_len(32)) %do% {
  list(iris[i, ], mtcars[i, ], iris[i, ])
}

lapply(purrr::transpose(tmp), function(l) do.call(rbind, l))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

R中的foreach和doparallel而不是for循环

R doParallel foreach中的并行处理

如何从R中具有多个条件的一个数据帧创建多个数据帧

如何在 R 中匹配具有多个 ID 的多个数据帧

在R中并行化异构任务:foreach,doMC,doParallel

在R中将fread与foreach和doParallel一起使用

R doParallel foreach具有针对独立工作人员的错误处理

使用R在具有不同编号的多个数据帧中创建变量

在 R 中合并具有不同变量的多个数据帧

R中具有相同列模式的多个数据帧的平均值

带有doParallel集群(R)的foreach()中发生未知错误(工人初始化失败:21)

如何在 R 中快速调用具有相同名称的多个数据帧/向量,但结尾除外

如何使用具有多个条件的 dplyr 交叉检查 R 中的两个数据帧?

R-具有来自另一个数据帧的序列的数据帧

在R doParallel'foreach'中找不到函数-{中的错误:任务1失败-“找不到函数” raster“”

在R中使用doParallel在foreach循环中使用栅格堆栈

我可以在R中使用doParallel在Foreach中仅使用一个RODBC连接吗?

doParallel(package)foreach在R中的大迭代中不起作用

在 R 中总结具有多个功能的数据帧?

r 循环多个具有可变行的数据帧

如何使用R处理多个数据帧并将输出保存在单独的文件中?

一组在多个数据帧上的函数,并将输出合并到R中

R函数返回多个数据帧

在 R 中合并多个数据帧

R 循环引用多个数据帧

foreach和doparallel在R中没有问题,但是没有得到任何正确的结果

在多个数据集中具有多个变量的箱线图在 r 中具有相同的组

lapply()输出为具有多个功能的数据框-R

在R中合并具有不同数据类型的不同键的两个数据帧