在 R 中并行运行函数

标签 r snowfall

我有两个函数 fun1fun2。我想在我的 R 脚本中并行运行它们。当它们完成时,我想按顺序使用它们的输出进行进一步处理。我想这意味着我需要等待它们完成。

我将非常感谢任何提示或指示。

谢谢。

最佳答案

R 的并行包主要设计用于并行运行相同的函数或表达式以及可能不同的数据。它们并非开箱即用,无法以简单的方式运行不同的功能。

最好有一个像 DAGapply 这样的函数,你可以指定一个有向无环图(哪些部分依赖于其他哪些部分)并且所有可以并行运行的部分都是,然后作为初始部分返回,然后将提交其依赖项全部完成的部分以并行运行,但我还没有在任何地方看到该功能。想过自己写,能看到调用的主要部分(但它们是非导出的,随时可能更改),但还没有找到时间。

您现在可以使用的解决方法是编写您自己的函数,该函数接受单个参数,如果该参数为 1,则它调用您的第一个函数,如果参数为 2,则它调用您的第二个函数。然后可以将这个新函数传递给并行函数(例如并行包中的 parLapply),它会依次并行运行您的函数并等待两者完成。

关于在 R 中并行运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30197280/

相关文章:

r - 从混合数据类型列表中提取矩阵

r - devtools::install_github 因 CA 证书错误而失败

r - 在 AWS 中使用雪(和降雪)在 R 中进行并行处理

r - 使用 Snowfall R 初始化 MPI 集群

r - 如何对 Radian 作为 R 的 VS Code 终端进行故障排除

r - 在表中查找超过第三个四分位数的频率

r - 如何通过集群中的字符串名称初始化库?

带有降雪的 R 并行计算 - 从不同的工作人员写入文件

r - 如何在 R 中的并行方法中使用无用的记录器进行记录?

r - 如何修改插槽 lme4 >1.0