这可能是一个非常基本的问题,但尚未找到令人信服的答案.在R环境中执行R脚本时,我可以执行source(foo.R)或system("Rscript foo.R").两种方法之间是否存在任何差异,如果是这样,两种方法的比较如何?
Jos*_*ien 15
它们的效果根本不同.
source("foo.R")告诉你当前的 R进程从中获取输入"foo.R".
system("Rscript foo.R")使用操作系统命令启动单独的 R进程,在该进程"foo.R"中评估其内容.
该Rscript调用根本不会直接影响当前的R会话,除非它默认在当前控制台上打印其他R会话的输出.(您可以system()通过设置在通话中禁用此功能show.output.on.console=FALSE).