如何将多个数据框附加到 R 中的多个相应的 csv 文件中?

问题描述 投票:0回答:1

我有两个数据框已保存到 csv:

library(readr)
df1 <-  data.frame(time = c(10,20,30), score = c(4,5,6))
df2 <-  data.frame(lane = c(200,500,400), score = c(2,3,8))
write_csv(df1, "aframe.csv")
write_csv(df2, "bframe.csv")

我会定期收集新数据,并将其附加到现有的 csv 文件中:

df3 <-  data.frame(time = c(11,22,35), score = c(5,4,3))
df4 <-  data.frame(lane = c(700,600,500), score = c(6,7,9))

我可以单独附加和编写它们:

write_csv(df3, "aframe.csv", append = TRUE)
write_csv(df4, "bframe.csv", append = TRUE)

如何使用一个代码块更有效地进行附加?

我尝试此操作时遇到错误:

write_csv(c(df3, df4), c("aframe.csv", "bframe.csv"), append = TRUE)

我不受

readr
的束缚。我也遇到过类似的问题
write.table

r csv tidyverse
1个回答
0
投票

您可以使用 purrr 的

walk2()
来迭代数据框和 csv 文件:

library(readr)
library(purrr)

df1 <-  data.frame(time = c(10,20,30), score = c(4,5,6))
df2 <-  data.frame(lane = c(200,500,400), score = c(2,3,8))
write_csv(df1, "aframe.csv")
write_csv(df2, "bframe.csv")

df3 <-  data.frame(time = c(11,22,35), score = c(5,4,3))
df4 <-  data.frame(lane = c(700,600,500), score = c(6,7,9))

walk2(
  list(df3, df4), 
  list("aframe.csv", "bframe.csv"), 
  write_csv, append = TRUE
  )

创建于 2024-05-03,使用 reprex v2.1.0

© www.soinside.com 2019 - 2024. All rights reserved.