3

我正在处理的 R 包中有一些函数(如function1)依赖于我的包中的辅助函数(如h_function1h_function2)。我正在并行化以function1在我的包中的另一个函数中重复调用。

目前,在我的包中,我正在使用代码

parallel::clusterExport(cl, varlist=c("h_function1", "h_function2"), envir=environment())
parallel::parSapply(X=1:100, FUN=function1, cl=cl)

cl传入函数的并行包中的集群在哪里。然而,这假设助手功能h_function1h_function2从我的包加载到本地环境中,这对于某些用户可能不是真的。

有什么方法可以灵活地将函数导出到集群中?是否可以通过包名导出包的所有功能?

4

1 回答 1

3

我通常使用以下代码执行此操作:

parallel::clusterEvalQ({library("<package-name>")})
于 2020-11-01T17:41:03.623 回答