3

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

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

谢谢你。

4

1 回答 1

5

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

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

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

于 2015-05-12T17:44:55.557 回答