我有以下dataFrame:
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
的输入。我还想将string1
和summary
添加到我的result.csv
。最好的解决方案是,如果我在结果和输出之间可以有一个空行。
有关如何将string1
和summary
添加到result.csv
文件的任何建议吗?
感谢您的回复!
更新
我尝试了NealC的方法并得到了:
这基本上是错的!我想得到类似的东西:
答案 0 :(得分:1)
既然你喜欢我的建议,我就是这样做的。
file <- read.csv(result.csv, sep=",")
您可以在再次导出数据之前以这种方式格式化数据,这就是为什么我选择这个而不仅仅是附加到可能导致错误的文件。
然后你想要把它们放在一起。
newData <- rbind(file,df)
然后执行您在代码中执行的操作并再次导出。
write.csv(newData, file = "result.csv",row.names=TRUE, sep=';', row.names=FALSE)
希望这有帮助。
答案 1 :(得分:1)
在write.csv()
来电之后,您可以通过以下对cat()
的调用附加到csv。
cat("\n", "Freq", summary[,1], sep = "\n", append = TRUE, file = "result.csv")
在上面的电话中,我们发生了什么:
"\n"
添加一个额外的空白行。 "Freq"
行summary[,1]
部分,n
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