将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>")})

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...