【发布时间】:2014-09-11 07:21:48
【问题描述】:
如何将某些代码的输出放入变量中?我希望该输出仍然进入控制台。
我更喜欢sink 表示法;我不想使用capture.output 有两个原因:
- 它要求各自的代码是一个单一的功能;我不想通过创建函数来捕获输出来使我的代码复杂化
- 它不允许捕获的输出仍然进入控制台。
我想出了下面的代码,但它有点复杂。有更简单的解决方案吗?
fileName <- tempfile()
sink(fileName, split = TRUE)
...
sink()
out <- readChar(fileName, file.info(fileName)$size)
unlink(fileName)
【问题讨论】:
-
也许利用
%>%(magrittr) 或%>>%(pipeR) 将发送到控制台的内容复制到后续的write操作?或者,也许这是您在magrittr之前发布%tee%运算符的机会:-)。见r-statistics.com/2014/08/… -
你应该只使用
futile.logger它可以做任何事情以及额外的
标签: r