通过 bash 执行 R 脚本时仅加载 R 包一次

Load R packages only once when executing R scripts via bash

我有一个 R 文件 example.r 基本上是这样的:

#!/usr/bin/env Rscript
# do something ...
library(somelibrary)
# do something with somelibrary functions

和一个 bash 脚本,需要在一次执行期间使用不同的输入参数多次调用 Rscript example.r <PARAMETER>。我的问题是是否有办法只加载包 somelibrary 一次。现在每次我调用脚本时都会加载包,这会导致一些开销。

如果您要启动这样的脚本:

#!/usr/bin/env Rscript
# do something ...
library(somelibrary)
# do something with somelibrary functions

然后它的每个实例都是一个新进程,一个新的 R 进程,因此必须使用 library 附加任何其他包。除非您想 运行 R 作为服务,否则开销是不可避免的。