我查看了几个能够将文本添加到现有数据文件(.csv 或 .txt)的函数,例如 write.table、write.lines 或 sink。
当附加参数 =TRUE 时,新数据总是添加到文件的最后一个现有行之后。是否可以将数据添加到第一行(标题下方)的现有文件中 - 与追加相反?
给定一个数据框:
DF <- as.data.frame(matrix(seq(20),nrow=5,ncol=4))
colnames(DF) <- c("A", "B", "C", "D")
write.table(DF, "DF.csv", row.names=FALSE, sep=",")
我可以像这样将新数据框附加到最后一行
A <- 1
A <- data.frame(A)
A$B <- 1
A$C <- 1
A$D <- 1
write.table(A, "DF.csv", row.names=FALSE, sep=",", append=TRUE, col.names=FALSE)
这接近我想要的。但我真的很想将上面的行添加到 DF.csv 的第一行(标题正下方),就像这样
A B C D
1 1 1 1
1 6 11 16
2 7 12 17
3 8 13 18
4 9 14 19
5 10 15 20
需要明确的是,我不希望在 R 中的数据框中添加一行。我希望在 R 环境之外的文件开头添加一行。正如 append 可用于将数据添加到外部 .csv 文件的末尾一样,我希望将数据“追加”到 .csv 文件的开头,以便我的最新数据始终出现在第一行(到避免滚动到长文件的末尾以查看最新数据)。