顺序调用$ R CMD或$ R --vanilla,我是否必须在每个R脚本中重新加载库?

Dav*_*uer 1 bash scripting r

我想从bash命令行运行一系列R脚本.我可以在通话之间保持R会话"开放"吗?或者我是否必须保存并加载对象并在每个脚本中重新加载库?

提前致谢

Rei*_*son 6

如果你的意思是分开

R CMD BATCH foo.R
R CMD BATCH bar.R
Run Code Online (Sandbox Code Playgroud)

然后是的,你必须安排foo.R所需的任何东西在foo.R的执行期间加载,并且对于bar.R. 例如,如果foo.R计算了在bar.R中使用的东西,为什么没有包含以下内容的主脚本foobar.R:

## Load required packages
require(pkg1)
require(pkg2)

## Run FOO script to generate objects FOO and foo
source(foo.R)
## Run BAR script to process objects FOO and foo
source(bar.R)
Run Code Online (Sandbox Code Playgroud)

并通过R CMD运行一个主脚本

R CMD BATCH foobar.R
Run Code Online (Sandbox Code Playgroud)

HTH