Mac OS X 上的 R 控制台中丢失标准输出
我正在 Mac OS X 系统 R 版本 2.9.2 上编写一个大型 Sweave 文档/脚本。在某些情况下,Sweave 似乎正在重定向 stdout,因此 x <- 1; print(x)
什么也没给出。 (控制台仍在运行,因为 plot(x)
会正常弹出绘图。)因此,有两个问题:
- 如何强制 stdout 返回控制台,以及
- Sweave 为什么这样做这,又如何?
I'm working on a big Sweave document/script on a Mac OS X system, R version 2.9.2. Under some circumstances, it appears as if Sweave is redirecting stdout, so that x <- 1; print(x)
gives nothing at all. (The console is still running, as plot(x)
pops up a plot as normal.) So, two questions:
- How do I force stdout to go back to the console, and,
- Why does Sweave do this, and how?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
找到了它,广泛使用了 RSeek。
sink()
函数将控制台重定向到文件。sink(NULL)
取消重定向。仍然不完全确定 Sweave 为什么要设置水槽。我怀疑我的代码中的错误导致 Sweave 中止而不取消接收器。Found it, with extensive use of RSeek. The
sink()
function redirects the console to a file.sink(NULL)
cancels the redirection. Still not entirely sure why Sweave sets up a sink. I suspect that bugs in my code were causing Sweave to abort without canceling the sink.