将函数从R包导出到集群(并行处理)

时间:2014-06-19 09:36:19

标签: r parallel-processing

我正在尝试再次使用parLapply(现在已成功在this context中使用它)但这次并行化的函数包含mc2d包中的一些函数(即.deprt,ppert)。我在代码的并行部分之前安装并加载了包。

我使用群集导出

成功将我的变量导出到群集
clusterExport(C1, "variable")
...

但是我尝试使用

导出dpert和ppert函数
clusterEvalQ(C1,dpert)

我收到了错误

object C1 not found

怎么没找到C1?是否有另一种方法将R-packages函数导出到集群以进行并行处理?

2 个答案:

答案 0 :(得分:6)

也可以将clusterExport用于函数......

clusterExport(Cl,c('dpert','variable'))

答案 1 :(得分:0)

我意外发现的另一种方法是在函数调用之前添加函数所属的包的名称。例如。而不是说syms()group_indices(),而是在rlang::syms()(或任何其他dplyr::group_indices()库函数)中使用parLapply()parallel