如何将一个R脚本的环境传递给另一个?

时间:2015-12-28 01:09:57

标签: r command-line

我正在尝试将save.image()添加到脚本的末尾而不修改该脚本。

我希望像Rscript target_script.R | saveR.R destination_path这样的东西可以工作,saveR.R读取,

args.from.usr<-commandArgs(TRUE)
setwd(args.from.usr[1])
save.image(file=".RData")

但这显然不起作用。任何替代方案?

2 个答案:

答案 0 :(得分:2)

您可以编写一个带有两个参数的R脚本文件:1,您要运行的脚本文件,以及2,您要将图像保存到的文件。

# runAndSave.R ------
args.from.usr <- commandArgs(trailingOnly=TRUE)
source(args.from.usr[1])
setwd(args.from.usr[2])
save.image(file=".RData")

然后用

运行它
Rscript runAndSave.R target_script.R destination_path

答案 1 :(得分:0)

您可以尝试对要在该计算机的操作系统内完成的任务进行编程。在Linux中,您将使用终端,并且有一个名为CRON的工具。在Windows中,您可以使用任务计划程序。如果您对操作系统进行编程以打开终端并加载脚本并稍后保存图像,您可能会得到所需内容,保存脚本生成的数据而不实际修改它。