如何使用批处理文件运行R语言(.r)文件?

Har*_*rdy 21 r batch-file

我想使用批处理文件运行R脚本文件(.r).

mac*_*mac 45

如果R.exe在您的PATH中,那么您的Windows批处理文件(.bat)将只包含一行:

R CMD BATCH your_r_script.R
Run Code Online (Sandbox Code Playgroud)

否则,您需要提供R.exe的路径,例如:

"C:\Program Files\R\R-2.13.0\bin\R.exe" CMD BATCH your_r_script.R
Run Code Online (Sandbox Code Playgroud)

您可以向BATCH命令添加某些输入参数,例如--no-save,--no-restore

所以它会

R CMD BATCH [options] your_r_script.R
Run Code Online (Sandbox Code Playgroud)

有关选项等的更多信息,请访问http://stat.ethz.ch/R-manual/R-devel/library/utils/html/BATCH.html

注意:R使用命令"BATCH"以非交互方式评估位于文件中的脚本.这里我们从windows .BAT文件运行命令"BATCH",但这只是巧合.

  • @Aacini:由于有些人感到困惑,我编辑了我的回复是为了更明确一点,提供的代码示例是你在Windows/DOS .BAT文件中包含的内容.我认为你原来的反应并非如此. (3认同)
  • 为什么举旗?为什么不只是downvote /鼓励@mac编辑答案?这个答案讲述了如何从命令行运行R脚本,这是OP正在寻找的缺失信息,而其他答案都没有提供...... (2认同)

Pau*_*eux 14

另一个答案建议使用Rscript.exe,因此您的批处理文件将包含:

"C:\Program Files\R\R-3.0.2\bin\i386\Rscript.exe"  your_r_script.R
pause
Run Code Online (Sandbox Code Playgroud)

您也可以使用-e标志直接调用R命令.例如,这个批处理文件告诉R将当前工作目录设置为Documents,然后它获取工作目录:

"C:\Program Files\R\R-3.0.2\bin\i386\Rscript.exe" -e setwd('Documents');getwd()
pause
Run Code Online (Sandbox Code Playgroud)

编辑2016年5月

您可能希望将R添加到Windows环境路径.在这个问题的评论中,@ chase提供了一个链接,解释了如何在Windows 7上设置路径.将R添加到Windows路径后,您的批处理文件应该变得简单:

Rscript.exe  your_r_script.R
pause
Run Code Online (Sandbox Code Playgroud)


Don*_*Don -10

我怀疑您是否能够使用批处理文件运行它。

http://www.fileinfo.com/extension/r 使用 .r 文件的大多数已知程序都对它看起来像的源代码文件这样做。您可能必须使用为其编写的程序来编译它。我想您可以使用批处理文件中的命令行编译器,但我不知道您正在使用什么语言或应用程序。

如果您发布脚本文件或提供有关它的更多信息,我们可能可以更好地帮助您。