R sink:随时间输出

时间:2014-12-04 21:17:37

标签: r sink

我目前正在使用sink将输出保存到某个文本文件中:

sink('out.txt', append=TRUE, split=TRUE)

我想在每个输出/消息中添加日期时间。 sink似乎不支持这一点。实现这一目标的最简单方法是什么?

也就是说,我的预期输出是

[1] "some message"

但我希望它是

2014-12-02 13:12:12 [1] "some message"

或者沿着这些方向发展。

我更喜欢一种解决方案,我无需调整脚本的每一个输出。我宁愿只在开始时在config / include文件中设置它,以保持代码清洁和可管理。

2 个答案:

答案 0 :(得分:6)

这是一种在常规输出之后打印日期和时间的方法(就在下一个命令的提示之前)。运行一次代码,它将在剩余的会话中继续执行此操作(或直到您将其关闭)。您可以将代码放入.Rprofile或.First函数中,每次都会发生。

> addTaskCallback(function(expr, value, ok, visible) {
+   cat('\n',as.character(Sys.time()), '\n')
+   TRUE
+ })
1 
1 

 2014-12-04 15:02:07 
> 1 + 2
[1] 3

 2014-12-04 15:02:12 
> "some message"
[1] "some message"

 2014-12-04 15:02:18 
> 

答案 1 :(得分:1)

使用paste(Sys.time(),'some message')

所以在上下文中它将是:

sink('out.txt', append=TRUE, split=TRUE)
paste(Sys.time(),'some message')
sink()