如何使用sink()保存Jupyter笔记本中的R输出



通常,我可以使用sink()函数将R输出重定向到文件。例如:

sink("test.txt") cat("Hello World") sink()

然而,在Jupyter Notebook(R内核(中,使用sink()并没有重定向打印的输出,而且我在test.txt文件中一无所获。我知道在cat("Hello World", file = "test.txt")中指定文件名可以保存输出并避免完全使用sink()。问题是,我使用cat()编写了数百行代码,但没有指定文件名。

有人知道sink()为什么不在朱毕特工作吗?是否有其他替代方法来存储以R打印的输出?

如果足够的话,您可以重新定义cat函数本身。

f <- file("/tmp/test.txt", open = "wt")
cat <- function(...){
base::cat(..., file=f)
}
cat("Hello Worldn")
close(f)

最新更新