0

我想一个接一个地打印到相同的 txt (outfile.txt) 文件项。例如,首先我想将一个数据框打印到 outfile.txt - u。之后,写了一条消息“你好”,最后是模型摘要。我该怎么做?sink(outfile.txt)适合这种情况吗?

4

1 回答 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 回答