gpt4 book ai didi

r - 是否可以 append 到现有文件的第一行?

转载 作者:行者123 更新时间:2023-12-02 02:10:49 25 4
gpt4 key购买 nike

我研究了几个能够将文本添加到现有数据文件(.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=",")

我可以像这样将新的数据框 append 到最后一行

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 文件的末尾一样,我希望将数据“append ”到 .csv 文件的开头,以便我的最新数据始终出现在第一行(避免滚动到长文件的末尾以查看最新数据)。

最佳答案

编写自己的函数:

my.write.table <- function(df, filename, sep)
{
## read the existing content
temp.df <- read.table(filename, sep)

## append in front
df <- rbind(df, temp.df)

## write back the whole data frame
write.table(df, filename, sep)
}

关于r - 是否可以 append 到现有文件的第一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16128001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com