我的R包有一个依赖项,需要在加载之前设置一个选项。在我的包的.onLoad zzz.r文件的函数中设置这个选项不起作用,因为在调用.onLoad之前,依赖项看起来是加载的。
如何确保在加载包的依赖项之前为其用户设置了某个选项?
下面是一个示例包的链接,它说明了情况:soExample.zip
我的示例中的依赖项是bartMachine包。所讨论的设置控制Java可用的内存量。当我在交互模式中使用bartMachine时,我可以简单地设置选项,加载bartMachine,启动消息告诉我它已经识别了我设置的java.parameters选项,并将请求的内存量提供给Java。
options(java.parameters='-Xmx5g')
library(bartMachine)
# ....
# Welcome to bartMachine v1.2.1! You have 4.77GB memory available.但是,当我加载依赖于bartMachine,的包时,.onLoad中设置的java.parameter选项不会及时生效,bartMachine只提供默认的可用内存量。
library(soExample)
# ....
# Welcome to bartMachine v1.2.1! You have 0.48GB memory available.发布于 2016-04-07 22:12:38
我是这个包的维护者,我从来没有想过这个场景。几个问题:
我的想法是:克隆代码,在第2行的jpackage (第2行options(java.parameters='-Xmx5g') )之后,在编辑的zzz.R中调用这里。您可以通过R CMD build bartMachine获得一个包,然后将包发送给用户并让他们在本地安装。
https://stackoverflow.com/questions/35319916
复制相似问题