将数据框和额外的行添加到 csv

Add data frame and extra rows to csv

我有以下数据框:

n = c(2, 3, 5) 
s = c("aa", "bb", "cc") 
b = c(TRUE, FALSE, TRUE) 
df = data.frame(n, s, b) 

string1 <- paste("Length of result: " ,  length(df))
summary <- summary(df)

write.csv(df, file = "result.csv",row.names=TRUE, sep=',')

目前只写了df的输入。我还想将 string1summary 添加到我的 result.csv。最好的解决方案是,如果我可以在结果和输出之间有一个空行。

有什么关于如何将 string1summary 添加到我的 result.csv 文件的建议吗?

感谢您的回复!

更新

我尝试了 NealC 的方法并得到:

这基本上是错误的!我想要这样的东西:

既然你喜欢我的建议,下面就是我的做法。

file <- read.csv(result.csv, sep=",")

您可以在再次导出数据之前以这种方式对数据进行更多格式化,这就是为什么我选择它而不是简单地附加到文件,这无论如何都可能导致错误。

然后你想把它们绑定在一起。

newData <- rbind(file,df)

然后执行您在代码中所做的操作并再次导出。

write.csv(newData, file = "result.csv",row.names=TRUE, sep=';', row.names=FALSE)

希望对您有所帮助。

write.csv() 调用之后,您可以通过以下对 cat().

的调用附加到 csv
cat("\n", "Freq", summary[,1], sep = "\n", append = TRUE, file = "result.csv")

在上面的调用中,发生了什么:

  • 先用"\n"多加一个空行。
  • 然后在摘要上方添加您请求的 "Freq"
  • 接下来是摘要的 n 部分的 summary[,1]
  • 然后是换行符sep = "\n"
  • 最后append = TRUE是将所有这些附加到文件file = "result.csv"

生成的文件如下所示:

"","n","s","b"
"1",2,"aa",TRUE
"2",3,"bb",FALSE
"3",5,"cc",TRUE


Freq
Min.   :2.000  
1st Qu.:2.500  
Median :3.000  
Mean   :3.333  
3rd Qu.:4.000  
Max.   :5.000  

要将它们分别读回 R,您可以这样做

read.csv("result.csv", nrows = 3)
#   X n  s     b
# 1 1 2 aa  TRUE
# 2 2 3 bb FALSE
# 3 3 5 cc  TRUE
cat(scan("result.csv", skip = 5, what = "", sep="\n"), sep="\n")
# Freq
# Min.   :2.000  
# 1st Qu.:2.500  
# Median :3.000  
# Mean   :3.333  
# 3rd Qu.:4.000  
# Max.   :5.000