6

我一直在挖掘几个地方以满足 2 个简单的需求,但找不到最终答案。

我正在批处理模式下运行 R 脚本。不确定我的解决方案是否是最好的,但我正在使用 R CMD BATCH 根据http://stat.ethz.ch/R-manual/R-patched/library/utils/html/BATCH.html包含在蝙蝠文件。

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

其次,我想将所有输出从 R 脚本(csv 文件和图表)转移到工作目录以外的特定目录。我找不到这种基本要求的任何选择。

最后的想法是无论 R 脚本保存在哪里,都能在不同的计算机上运行 bat 文件。

谢谢

4

1 回答 1

10

你不提供代码,所以我的回答只是一个建议或者我会为这样的工作做些什么。

  1. 使用Rscript.exe它是批处理脚本的方式。R CMD 是一种遗留工具。
  2. 您无需设置或更改工作目录。这是问题的根源
  3. 您可以在所需的位置启动 bat 文件,然后在其中使用 cd 转到 R 脚本位置,例如,您的 bat 文件可以是:

    cd R_SCRIPT_PATH
    Rscript youscript.R arg1 arg2
    
  4. 您可以使用脚本参数之一作为结果文件的输出目录。例如,在您的脚本中,您可以执行以下操作:

    args <- commandArgs(trailingOnly = TRUE)
    resultpath <- as.character(args[1])
    .....
    write.table(res1, file=paste(resultpath,'res1.csv',sep='/')
    
于 2013-05-29T10:22:31.223 回答