我正在开发的 R 包中的某些函数(如function1)依赖于我的包中的辅助函数(如h_function1和h_function2)。我正在并行化以function1在包中的另一个函数中重复调用。
目前,在我的包中我正在使用代码
parallel::clusterExport(cl, varlist=c("h_function1", "h_function2"), envir=environment())
parallel::parSapply(X=1:100, FUN=function1, cl=cl)
Run Code Online (Sandbox Code Playgroud)
其中cl是来自传递到函数的并行包的 cluster。然而,这假设帮助程序起作用h_function1并h_function2从我的包加载到本地环境中,这对于某些用户来说可能并非如此。
有什么办法可以灵活地将功能导出到集群中呢?是否可以通过包名导出包的所有函数?