我已经可以使用cat向CSV中添加一行,这使得操作非常简单:
cat("my row, 1, 2, 3, 4", "mydf.csv",sep="\n", append=TRUE)
据我所知,您不能使用cat处理整个数据框(多列和多行)。
我这样做是因为我要将许多DFs写入CSV,并希望使用write.table附加多个CSV。这些数据框都具有相同数量的列。
我考虑过使用循环逐行写入cat,但这似乎不是最好的方法 - 有没有人知道在R中更好的方法?
好的,我意识到append=T与write.table一起使用是可以的 - 但是需要使用sep开关才能实现,因此这样就可以:
write.table(myDF, "myDF.csv", sep = ",", col.names = !file.exists("myDF.csv"), append = T)
df <- rbind(t(df),"\n")
cat(c("",df),sep=",",append=TRUE)
df <- cbind(df1, df2, df3)
write.csv(df, "spam.csv")
write.csv
中使用append参数:dfs <- c(df1, df2, df3)
for (df in dfs){
write.csv(df, "eggs.csv", append = TRUE)
}
write.csv
和write.csv2
)故意不灵活:它们旨在确保使用正确的约定来编写有效文件。尝试更改 append
、col.names
、sep
、dec
或 qmethod
将被忽略,并显示警告。 - artm
write.table
呢?它有一个append=TRUE
选项,并且对于第一个数据框之后的每个数据框,您可以通过设置col.names=FALSE
来关闭列名。 - MrFlick