我有两个函数 fun1 和 fun2 。我想在我的R脚本中并行运行它们。当它们完成时,我想在顺序进一步处理中使用它们的输出。我想这意味着我需要等待他们完成。
我非常感谢任何提示或指示。
谢谢。
答案 0 :(得分:4)
R的并行包主要用于与可能不同的数据并行运行相同的函数或表达式。它们不是开箱即用的,只是以简单的方式运行不同的功能。
有一个像DAGapply这样的函数可以指定一个有向无环图(哪些部分取决于哪些部分)以及可以并行运行的所有部分,然后作为返回的初始部分,这将是很好的依赖关系全部完成的部分将被提交并行运行,但我还没有看到任何功能。我想过自己编写它可以看到要调用的主要部分(但它们是非导出的并且可以随时更改)但还没有找到时间。
现在可以使用的解决方法是编写自己的函数,该函数接受一个参数,如果该参数为1则调用第一个函数,如果2中的参数调用第二个函数。然后可以将这个新函数传递给并行函数(例如并行包中的parLapply),然后它将并行运行您的函数并等待两者完成。