通过 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 作为服务,否则开销是不可避免的。
我有一个 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 作为服务,否则开销是不可避免的。