R批处理模式:如何在控制台屏幕上查看R的输出/错误?

时间:2016-07-24 06:12:05

标签: r batch-processing

在批处理模式下运行R代码时,我需要在R代码中显示消息/错误/日志,而不是.Rout文件。

我尝试了堆栈溢出中的所有帖子(下面复制的链接)和它们都没有显示我想要的输出。

  1. running-r-in-batch-mode-print-to-screen?
  2. unable-to-run-r-script-through-bat-files-in-windows-server
  3. r-cmd-batch-output-in-terminal
  4. 批处理代码:我也试过了tty0。

    "C:\Program Files\R\R-3.2.2\bin\R.exe" CMD BATCH --slave "Test.R" /dev/tty
    

    Test.R代码

    print(1:10)
    

    如果有人可以帮我展示编写代码以在控制台屏幕中显示输出的正确方法,那将非常有帮助。我正在开发Windows环境。

    非常感谢任何帮助,谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用stdoutstderr重定向要打印的日志。这样做的示例方法是:

write("Hello World!!", stderr())

我在这里重定向“Hello World !!”到stderr。如果您在上面的代码段中使用stdout()而不是stderr(),那么理想情况下它应该将日志写入stdout。但是,在尝试写入stdout时,我看到了一些问题。

答案 1 :(得分:1)

在@shayaa和@abhiieor的帮助下,我找到了解决自己问题的方法。

如果某人需要在控制台中看到他们的输出,他们假设在可执行的.bat文件中使用Rscript而不是R CMD BATCH。

批次代码:

"C:\Program Files\R\R-3.2.2\bin\Rscript.exe" Test.R
pause

Test.R代码

print("-Hello World!!",stdout())

在上面的代码中,stdout()会将输出重定向到控制台。