批处理R脚本 - 设置工作目录和选择输出文件夹

6

我一直在寻找两个简单需求的解决方法,但都没有找到最终答案。

我正在批处理模式下运行R脚本。不确定我的解决方案是否是最佳的,但我正在使用R CMD BATCH,如http://stat.ethz.ch/R-manual/R-patched/library/utils/html/BATCH.html中所述,并将其包含在bat文件中。

首先,我希望将保存R脚本的目录设置为工作目录,而不是保存bat文件的目录。

其次,我希望将R脚本(csv文件和图表)的所有输出重定向到特定目录,而不是工作目录。我无法找到任何满足这种基本要求的选项。

最终的想法是能够在不管R脚本保存在哪台计算机上的情况下,在不同的计算机上运行bat文件。

谢谢

1个回答

11

您没有提供代码,所以我的回答只是一些建议或我在类似工作中会做什么。

  1. 使用 Rscript.exe 进行批处理脚本编写。R CMD 是一种遗留工具。
  2. 您不需要设置或更改工作目录。这会引起问题。
  3. 您可以在任何位置启动批处理文件,在其中使用 cd 命令转到 R 脚本所在的位置,例如:

    cd R_SCRIPT_PATH
    Rscript youscript.R arg1 arg2
    
  4. 你可以使用脚本参数之一作为输出目录来存储结果文件。例如,在你的脚本中,你可以像这样执行某些操作:

  5. args <- commandArgs(trailingOnly = TRUE)
    resultpath <- as.character(args[1])
    .....
    write.table(res1, file=paste(resultpath,'res1.csv',sep='/')
    

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接