R批处理模式:如何在控制台屏幕上查看R的输出/错误?
在批处理模式下运行R代码时,我需要在控制台屏幕上显示R代码中的消息/错误/日志,而不是.Rout文件 我尝试了stack overflow中的所有帖子(下面复制的链接),但没有一篇显示我想要的输出。 批处理代码:我也尝试了tty0R批处理模式:如何在控制台屏幕上查看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) 这将是非常有帮助的,如果有人可以帮助我显示正确的方式编写代码,以显
"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()的帮助下工作的。