如何在 R 中打印到 stderr?
如何在 R
中打印到 stderr
?
这对于用 Rscript 编写的脚本特别有用。
How do you print to stderr
in R
?
This would especially useful for scripts written in Rscript
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
实际上以下内容对我有用:
Actually the following works for me:
这是一个更灵活的版本,用于在 Rscript 中进行调试/详细使用。 它不仅按照您的要求打印到 stderr,而且还允许您传递可变数量的参数、类型等,就像 printf 那样。
现在您可以执行以下操作:
等等。
Here's a more flexible version for debugging/verbose use in Rscript. Not only it prints to
stderr
as you ask, but it also allows you to pass variable number of arguments, types etc, likeprintf
does.Now you can do things like:
etc.
与已接受的答案的建议相反,使用
write()
函数,这将是对该函数的不当使用,因为它被设计用于将数据写入文件而不是消息。 来自write()
文档,我们有:此外,请注意,
write()
为列的数据输出提供了方便的包装器。也就是说,我建议使用
cat ()
以及相应的file = ...
参数中的条件处理程序stderr()
或stdout()
。因此,要向标准 error 写入消息,应该使用:
或者:
对于标准 out,只需直接使用
cat()
即可默认情况下设置写入stdout()
。Contrary to the accepted answer's suggestion to use the
write()
function, this would be an inappropriate use of the function as it is designed to be used for writing data to a file instead of messages. From thewrite()
documentation, we have:Moreover, note that
write()
provides a convenience wrapper for data output of columns.That said, I would recommend using
cat()
alongside of the appropriate condition handlerstderr()
orstdout()
infile = ...
parameter.Thus, to write a message to standard error, one should use:
Or:
For standard out, just use
cat()
directly as it is setup to write tostdout()
by default.来自 Ripley 本人:
From Ripley himself: