R同时运行2个不同的代码块(并行)

Joh*_*son 7 r

有没有办法同时运行两个不同的代码块。我一直在研究 R 中的并行包,它们似乎都基于在循环中运行相同的函数。我正在寻找一种同时运行不同函数的方法(循环的 1 次迭代)。例如,我想在某个数据对象上创建一个模型,同时在另一个对象上创建另一个模型。我可以通过启动另一个 R 实例来做到这一点,但宁愿将其全部保留在同一个脚本中。这可能吗?我很感激任何建议。

Hon*_*Ooi 0

您可以使用clusterMap,它是 的并行版本mapply。这假设您希望在每个节点上拟合相同类型的模型(lm、glm、rpart 等)。

clus <- makeCluster(2)
out <- clusterMap(clus, lm, formula=list(speed ~ dist, mpg ~ cyl + disp + hp),
                            data=list(cars, mtcars))
Run Code Online (Sandbox Code Playgroud)