r - 如何附加到R中的现有文件而不覆盖它?

标签 r

我想写入一个文件,然后在循环中多次追加它(在 Windows 机器上)。每次追加后,我想关闭连接,因为 我希望文件存入保管箱帐户,以便我可以在其他计算机上打开它,同时代码正在运行,以检查日志文件的状态 (请注意,此条件使此问题与 SO 上提出的有关 sink、writeLines、write、cat 等的任何问题不同)。我试过了

#set up writing
  logFile = file("log_file.txt")
  write("This is a log file for ... ", file=logFile, append=FALSE)

for(i in 1:10){
    write(i, file=logFile, append=TRUE)
}

我也试过 sink(file=logFile,append=TRUE); print(i); sink() ;在循环中,还有 cat .这两种选择都不起作用。该文件仅显示 i=10,即循环的最后一次迭代。我在 write 的文档中注意到了以下句子。

“如果为 TRUE,则数据 x 将附加到连接中。”

以上是否意味着它不会附加到现有文件。

最佳答案

以下似乎适用于 cat 因为它不需要文件连接:

#set up writing
logFile = "log_file.txt"
cat("This is a log file for ... ", file=logFile, append=FALSE, sep = "\n")

for(i in 1:10){
  cat(i, file=logFile, append=TRUE, sep = "\n")
}

输出看起来像这样它会附加每个值:
This is a log file for ... 
1
2
3
4
5
6
7
8
9
10

我认为这就是你想要的。如果您使用的是 mac 或使用 linux,您可以使用以下命令跟踪文件中的进度:
tail -f log_file.txt 

但是,我不确定这将如何与 Dropbox 一起使用。您可以登录运行代码的计算机吗(例如,在 mac 或 linux 上)?

关于r - 如何附加到R中的现有文件而不覆盖它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21668640/

相关文章:

r - ggplot2 标题填充?如何调整?

r - 如何叠加两个密集的散点图,以便我可以在 R 或 Matlab 中看到每个散点图的轮廓?

r - 从多串字母和数字中减去1个字母和数字

r - 三列图

r - 将列转换为序列

r - ggplot2 - 在堆叠条形图中更改 `geom_rect` 颜色

返回 R 中插入符号包中每次迭代的变量重要性

Rcpp:错误:与请求的类型不兼容

r - 使用注释时的ggmap和错误(geom = "text")

r - 如何在R中插值和提取黄土平滑上方的点?