如何将R警告消息重定向到STDOUT?

Dav*_*d B 10 redirect r stdout stderr

我正在使用网格引擎来运行R脚本.STDERR在这个设置下被认真对待,所以我想保持它干净,只有真正/严重/致命的错误打印到STDERR.

问题是我的R脚本生成了各种STDERR消息,这些消息并不是真正严重的警告...例如,scan似乎打印到STDERR它读取的项目数.

我可以重定向(从R中)STDERR到STDOUT吗?

Dir*_*tel 6

查看帮助页面sink():

'sink'将R输出转移到连接.如果'file'是字符串,则将在转移期间建立具有该名称的文件连接.

正常R输出(连接'stdout')被默认的'type ="输出"'转移.只有提示和(大多数)消息继续显示在控制台上.发送到'stderr()'的消息(包括来自'message','warning'和'stop'的消息)可以通过'sink(type ="message")'转移(见下文).