如何使用for循环在R中保存和写入文件

时间:2018-11-16 21:27:38

标签: r dataframe for-loop

我有多个数据框对象,例如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="")
  }
}

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

如果要将数据帧一个接一个地保存到.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"))
}