将 R 包函数导出到 R 包中的并行群集



我正在处理的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从我的包加载到本地环境中,对于某些用户来说可能并非如此。

如何灵活地将函数导出到集群?是否可以按包名称导出包的所有功能?

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

parallel::clusterEvalQ({library("<package-name>")})

最新更新