我是 R 新手。我正在尝试使用 R 中的现有数据向文件添加(追加)新行。问题是我的数据大约有 30000 行和 13000 列。我已经尝试使用
writeLines
函数添加一行,但生成的文件仅包含添加的行。
write.table
、write.csv
等都有 append=
参数,它会附加 append=TRUE
并且通常会覆盖 if append=FALSE
。因此,您想要/必须使用哪一个,取决于您的数据。
顺便说一句,
cat()
也可用于将文本写入文件,并且还具有append=
参数。
您可以在附加模式下打开连接,以使用 writeLines
writeLines("Hello", "output.txt") #Create file
CON <- file("output.txt", "a") #Open connection to append
writeLines("World", CON) #Append: World
writeLines("End", CON) #Append: End
close(CON) #Close connection
基本相同,但使用cat
,不同之处在于每次操作都会打开和关闭文件,这会降低性能。
cat("Hello\n", file = "output.txt")
cat("World\n", file = "output.txt", append = TRUE)
cat("End", file = "output.txt", append = TRUE)
将 cat
与连接一起使用,就像上面的
writeLines
一样。
cat("Hello\n", file = "output.txt")
CON <- file("output.txt", "a")
cat("World\n", file = CON)
cat("End", file = CON)
close(CON)
如果创建文件并追加后续内容。
CON <- file("output.txt", "w")
writeLines("Hello", CON)
writeLines("World", CON)
writeLines("End", CON)
close(CON)
lapply(listOfVector, function(anyNameofVect){ write(anyNameofVect, file="outputFileName", sep="\t", append=TRUE, ncolumns=100000) })
或
lapply(listOfVector, write, file="outputFileName", sep="\t", append=TRUE, ncolumns=100000)