【问题标题】:How to use for loop to save and write files in R如何使用for循环在R中保存和写入文件
【发布时间】:2018-11-16 21:27:37
【问题描述】:

我有多个数据框对象,例如df1df2 等。我想使用 for 循环将这些文件保存并写入dta,但我不知道从哪里开始。我应该将数据框对象保存到列表中,然后保存它们吗?例如:

a = list()
# write for loop saving each data frame objects to a list then

f = c("df1","df2" .. )

end = ".RDA"

for (i in length(a)) {
  for (f in filenames) {
    save(a[[i]],file = paste("~/Panel",filename,end,sep="")
  }
}

【问题讨论】:

  • 我建议使用rds 而不是rda(只需保存原始列表),您可以使用saveRDS(a, "file.RDS")

标签: r dataframe for-loop


【解决方案1】:

如果你想将多个数据帧保存到一个rda文件,你不需要for循环:

a <- list(d1, d2)    
save(a, file = paste("~/Panel/",filename,end,sep=""))

【讨论】:

    【解决方案2】:

    如果您想将数据帧一一保存到.rda 文件并使用for 循环,您可以创建一个命名列表,然后在循环中使用这些名称来命名文件:

    df1 <- data.frame(a = rnorm(5), b = rnorm(5))
    df2 <- data.frame(c = rnorm(5), d = rnorm(5))
    
    files <- list(df1=df1, df2=df2)
    
    for(f in 1:length(files)) {
        save(f, file = paste0(names(files[f]), ".rda"))
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-27
      • 2021-09-24
      • 2018-03-31
      • 1970-01-01
      • 2020-03-29
      • 2020-05-02
      相关资源
      最近更新 更多