我有以下简单的R代码:
sink("output.txt", type=c("output", "message"))
cat("Hello", append = TRUE)
cat("World", append = TRUE)
sink(NULL)
Run Code Online (Sandbox Code Playgroud)
它只是将R控制台写入文本文件.我想把它放在一个R源文件(".r")中并运行多次.我希望输出如下:
file.show("output.txt")
Hello
World
Hello
World
Run Code Online (Sandbox Code Playgroud)
如果我运行两次,我现在看到:
Hello
World
Run Code Online (Sandbox Code Playgroud)
看起来它已被覆盖.
sink()有自己的append论点.而作为格雷戈尔提到,append在cat()只有工作时file使用.
但是,append如果您在cat()呼叫之间放置所有呼叫,则根本不需要使用sink(),因为sink()在您呼叫之前将继续附加到文件sink(NULL)
但对于你的情况,我认为你想为你的sink()大块做这样的事情:
sink("output.txt", type=c("output", "message"), append = TRUE)
cat("Hello", "\n")
cat("World", "\n")
sink(NULL)
Run Code Online (Sandbox Code Playgroud)
或者更简单地说,
sink("output.txt", type=c("output", "message"), append = TRUE)
cat("Hello", "World", sep = "\n")
sink(NULL)
Run Code Online (Sandbox Code Playgroud)
重复此操作两次,我们创建了文件并附加到它
Hello
World
Hello
World
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
610 次 |
| 最近记录: |