避免在多个 运行 的 R 脚本上加载库

Avoid loading libraries on multiple run of R script

我需要运行(几次)我的R脚本(script.R),基本上看起来像这样:

library(myLib)
cmd = commandArgs(TRUE)
args=myLib::parse.cmd(cmd)
myLib::exec(args)

myLib是我自己的包,里面加载了一些依赖(car,minpack.lm,plyr,ggplot2)。加载库所需的时间与 myLib::exec 的时间相当,所以我正在寻找一种方法来帮助我在每次调用 Rscript script.R

时都不会加载它们

我知道 Rserve,但它看起来有点矫枉过正,尽管它可以完全满足我的需要。还有其他解决方案吗?

P.S:我使用 ScalaJVM 调用 script.R

简述:

  • 启动时你需要加载你的库
  • 如果你重复调用并重复启动你重复加载库
  • 您已经提到了一个有状态的解决方案 (Rserve),它允许您启动它一次 但是多次连接和评估

所以我认为你回答了你的问题。

否则,我喜欢 littler and have shown how it starts faster than either R or Rscript -- 但最快的方法就是不重新启动。