Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R批处理模式:如何在控制台屏幕上查看R的输出/错误?_R_Batch Processing - Fatal编程技术网

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

R批处理模式:如何在控制台屏幕上查看R的输出/错误?,r,batch-processing,R,Batch Processing,在批处理模式下运行R代码时,我需要在控制台屏幕上显示R代码中的消息/错误/日志,而不是.Rout文件 我尝试了stack overflow中的所有帖子(下面复制的链接),但没有一篇显示我想要的输出。 批处理代码:我也尝试了tty0 "C:\Program Files\R\R-3.2.2\bin\R.exe" CMD BATCH --slave "Test.R" /dev/tty Test.R代码 print(1:10) 这将是非常有帮助的,如果有人可以帮助我显示正确的方式编写代码,以显

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

我尝试了stack overflow中的所有帖子(下面复制的链接),但没有一篇显示我想要的输出。

  • 批处理代码:我也尝试了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环境下工作


    非常感谢您的帮助。

    您可以使用
    stdout
    stderr
    重定向要打印的日志。实现这一点的示例方法是:

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

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

    时发现了一些问题,我在@shayaa和@abhiieor的帮助下找到了自己问题的解决方案

    若有人需要在控制台中查看他们的输出,那个么他们应该在executable.bat文件中使用Rscript而不是R CMD BATCH

    批次代码:

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

    print(1:10)
    
    print(“-helloworld!!”,stdout())


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

    在批处理模式下运行R的全部意义不就是没有人在那里查看发生了什么吗?批处理模式更适用于自动分析。如果要查看输出,请查看日志文件或以交互方式运行R。@RichieCotton我批量运行R代码的目的是让第三方不要打开R/Rstudio。我需要看到中间结果,所以我希望输出在控制台屏幕上。我想您需要的是Rscript,而不是R CMDBATCH@shayaa我不熟悉.bat文件的格式。你能给我举个例子吗?可能想看看谢谢你的回复。它不工作,仍然在.Rout文件中显示输出。我故意在代码中插入了一个未声明的变量
    ss
    ,以便它可以在控制台中抛出错误,但它在.Rout文件中显示了错误。
    write(“Hello World!!”,ss,stderr())
    @Shayaa是正确的。请使用“Rscript”运行您的R脚本,您将能够按照上述建议进行编写。非常感谢您的回复。它是在
    Stdout()的帮助下工作的。