2013-05-29 30 views
6

我一直在挖掘到两个简单需求的几个地方,但无法找到最终答案。批量R脚本 - 设置工作目录和选择输出文件夹

我在批处理模式下运行R脚本。不知道我的解决方案是否是最好的解决方案,但是我使用包含在bat文件中的http://stat.ethz.ch/R-manual/R-patched/library/utils/html/BATCH.html来使用R CMD BATCH。

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

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

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

感谢

回答

6

你不给代码,所以我的回答将是只是一个意见或什么,我会这样做的工作。

  1. 使用Rscript.exe这是批处理脚本的方法。 R CMD是一种传统工具。
  2. 您不需要设置或更改工作目录。这是问题
  3. 可以启动你bat文件,你需要一个源和内它,你使用CD,例如,你bat文件可以像去与R脚本位置:

    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='/') 
    
相关问题