在写入函数中附加文本 [R]
Posted
技术标签:
【中文标题】在写入函数中附加文本 [R]【英文标题】:Appending text in write function [R] 【发布时间】:2014-10-10 01:30:04 【问题描述】:我正在尝试在已经存在的 .txt
文件中追加一行。但是我的语法覆盖了这个文件:(
fileConn <- file( "realization1.txt" )
write(x =as.character(max(cumsum( rnorm( 10^7)))),
file = fileConn,
append = TRUE, sep = " ")
write(x =as.character(max(cumsum( rnorm( 10^7)))),
file = fileConn,
append = TRUE, sep = " ")
close( fileConn )
有没有人可以解决这个问题? 感谢您的帮助!
【问题讨论】:
Add lines to a file的可能重复 不正确。这里的答案是不同的。检查@carl解决方案 【参考方案1】:我只会使用命令write.table
write.table(max(cumsum( rnorm( 10^7))),file="realization1.txt",append=TRUE,row.names=FALSE,col.names=FALSE)
write.table(max(cumsum( rnorm( 10^7))),file="realization1.txt",append=TRUE,row.names=FALSE,col.names=FALSE)
您会在“realizaion1.txt”文件中找到这两个值
【讨论】:
【参考方案2】:我相信您的困难来自未能打开具有正确属性集的文件。
如果您使用 fileConn <- file( "realization1.txt" ,open="a")
创建连接,那么一切都会按您的预期工作。基本上,据我所知,write
(它是 cat
的包装器)不能追加,除非文件连接是在允许“追加”的情况下打开的。
【讨论】:
【参考方案3】:您也可以使用writeLines
,它比write
快大约 20 倍。如果您要附加大字符串,这会产生很大的不同。
sink("outfile.txt", append = T)
x <- as.character(max(cumsum( rnorm( 10^7))))
writeLines(x)
sink()
【讨论】:
那么 writeLines 和 write.table 的比较呢?以上是关于在写入函数中附加文本 [R]的主要内容,如果未能解决你的问题,请参考以下文章