我可以声明文件输出到控制台吗?

时间:2015-05-22 11:09:08

标签: r rstudio

我有一个例程来编写(带有sprintf的writeLines)来向控制台输出一些值。

我被要求对txt文件执行相同的输出。

我现在所拥有的是复制第一组" writeLine"并将它们更改为写(...,文件)

我无法找到是否可以向控制台声明文件。我在想的是有一个函数来执行它并传递参数(文件),然后只有一组语句用于写和调用

diskfile <- file("results.txt", "w")
printresults("console")   # This is the part I don't know how
printresults(diskfile)

如果我对文件执行printresults,我可以从中读取并呈现给控制台。我正在使用:

cat(readlines, ...)

这很好但我更喜欢使用功能解决方案。

有办法吗?

感谢您的时间,

编辑&gt;&GT;&GT;更具体的

我可以写(sprintf(...),CONSOLE)吗?

1 个答案:

答案 0 :(得分:0)

sink()(我最喜欢的)能不能做到这一点?

sink("file.txt", append = FALSE, split = TRUE)
print("Hello world")
sink()

使用split = TRUE,输出会同时传递到控制台和文本文件,第二次调用sink()会将输出恢复为控制台。

控制台和file.txt都打印

  

“Hello world”