我想一个接一个地打印到相同的 txt (outfile.txt) 文件项。例如,首先我想将一个数据框打印到 outfile.txt - u。之后,写了一条消息“你好”,最后是模型摘要。我该怎么做?sink(outfile.txt)
适合这种情况吗?
问问题
70 次
1 回答
1
在同一个文件中混合数据通常是一个非常糟糕的主意。我强烈反对它:它使数据文件旁边的其他程序无法使用。
也就是说,大多数保存数据的函数都有一个append
参数。您可以将其设置TRUE
为附加到现有文件而不是覆盖其内容。不需要sink
。
您确实需要sink
(或等效)的地方是当您想要编写格式与在控制台上写入相同的内容时。例如,情况就是这样summary
。
这是一个类似于您的要求的示例:
filename = 'test.txt'
write.table(head(cars), filename, quote = FALSE, col.names = NA)
cat('\nHello\n\n', file = filename, append = TRUE)
capture.output(print(summary(cars)), file = filename, append = TRUE)
而不是sink
,这使用capture.output
,这是一个方便的包装sink
。
于 2015-09-24T10:57:22.350 回答