我想写入一个文件,然后在一个循环(在Windows机器上)中多次添加它。每次我追加它后,我想关闭连接,因为我想让文件沉入Dropbox帐户,以便在代码运行时在其他计算机上打开它,以检查日志文件的状态(请注意条件使得这个问题与SO上关于sink,writeLines,write,cat等问题的任何问题都不相同)。我试过如何追加到R中的现有文件而不覆盖它?
#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,即循环的最后一次迭代。我注意到文档中的以下句子用于编写。
“如果为TRUE,则数据x将附加到连接。”
以上是否意味着它不会附加到现有的文件。
此代码似乎附加到该文件,但它不会与Dropbox下沉,这可能意味着文件保持打开状态?也许在猫电话后专门关闭文件? – MHH
哦,它现在工作,这很奇怪,最初的代码不是,但这是一个。他们看起来几乎一样。也许Dropbox无法处理长循环。 – MHH
'for(i in 1:1000000000){ if(i %% 10000000 == 0)cat(i,file = logFile,append = TRUE,sep =“\ n”) }'这就是我最终验证你的代码的作品,非常感谢! – MHH