带有命令行参数的默认R输出

时间:2019-01-25 16:30:42

标签: r output rscript

我试图提供一种通过Rscript运行无人看管的R脚本的方法。我遇到的问题是图形的默认输出是 current 目录中的PDF文件。我想将此输出重定向到一个单独的文件夹,但不必过多更改脚本。

如果我的脚本很简单,例如:

args = commandArgs(trailingOnly = TRUE)

mydata <- get some data frame somehow
plot(tayside)

然后执行以下命令行:

Rscript.exe --vanilla --default-packages=RODBC,graphics,grDevices sample.R > C:\temp\sample.Rout

我在当前文件夹中得到一个Rplots.pdf,在sample.Rout文件夹中得到了一个C:\temp\文件。

是否可以指定输出文件夹并将Rscript的所有输出放在那里?我尝试使用pdf.options(...)将默认文件夹添加到file参数的前面,但是没有办法。

1 个答案:

答案 0 :(得分:0)

好吧,显然比我想象的要容易,不需要使用pdf.options(),而只需在文件顶部使用pdf()(在获取参数之后):

pdf(paste0(args[1], "MyFile.pdf"))

或者,对于多个文件:

pdf(paste0(args[1], "MyFile%03d.pdf"), onefile=FALSE)