R 向文件追加行
我是使用R的新手。我正在尝试使用R中的现有数据向文件添加(附加)新行。问题是,我的数据约有30000行和13000列。我已尝试使用R 向文件追加行,r,file,large-data,R,File,Large Data,我是使用R的新手。我正在尝试使用R中的现有数据向文件添加(附加)新行。问题是,我的数据约有30000行和13000列。我已尝试使用writeLines函数添加一行,但生成的文件仅包含添加的行。是否尝试使用该函数 line="blah text blah blah etc etc" write(line,file="myfile.txt",append=TRUE) write.table、write.csv和其他所有的表都有append=参数,该参数追加a
writeLines
函数添加一行,但生成的文件仅包含添加的行。是否尝试使用该函数
line="blah text blah blah etc etc"
write(line,file="myfile.txt",append=TRUE)
write.table
、write.csv
和其他所有的表都有append=
参数,该参数追加append=TRUE
,通常在append=FALSE
时覆盖。因此,您想要/必须使用哪一个取决于您的数据
顺便说一下,cat()
还可以用于将文本写入文件,并且还具有append=
参数
lapply(listOfVector, function(anyNameofVect){ write(anyNameofVect, file="outputFileName", sep="\t", append=TRUE, ncolumns=100000) })
或
甚至
sink(append=TRUE)
。对于纯文本数据,请使用cat()
而不是write()
。如前所述,“数据(通常是矩阵)x
被写入文件file
”write()
不适用于简单的字符串数据。它旨在格式化更复杂的类型,并围绕cat()
对文件进行实际写入。使用cat()
时,您需要粘贴0(行“\n”)
以在文件末尾换行。可能重复@MichaelOhlrogge您确定这是重复的吗?您链接到的Q通常是关于向文件中写入行,而此Q专门询问如何向现有文件中追加行。@UweBlock True,但链接的Q在其许多答案中讨论了追加选项。@MichaelOhlrogge它只是链接Q中8个答案中的2个。两者都建议cat()
。两者都相当简洁。他们都没有解释为什么使用append
选项或该选项的效果。没有其他答案(writeLines()
,sink()
)提及或讨论append
选项。@UweBlock好的,当然,我会收回。请确保您不将连接用作文件,而只是放在文件路径中,否则append将不起作用@Ansjovis86能否请您详细说明一下“作为文件的连接”@munmunbb这只是当您使用连接设置时。如果你没有,不要担心。如果你有,把它从你的代码中删除,这个答案就行了。虽然这对很多人来说可能非常明显,但我以前一直在阅读现有的文件,使用rbind在其中添加一行,然后再次编写更新后的文件。我现在看到,这是非常低效的,使用write来追加一行要快得多。write
并不是真的要将一个简单的字符串写入文件。如前所述,“数据(通常是矩阵)x
被写入文件file
”,考虑到“write”命令将被追加时过于复杂。
lapply(listOfVector, write, file="outputFileName", sep="\t", append=TRUE, ncolumns=100000)