R 将列表中的所有数据帧保存到单独的.csv文件中

R 将列表中的所有数据帧保存到单独的.csv文件中,r,list,dataframe,export-to-csv,R,List,Dataframe,Export To Csv,我有一个要保存到独立.csv文件的数据帧列表 目前,我对每个数据帧都有一个新行: write.csv(lst$df1, "C:/Users/.../df1") write.csv(lst$df2, "C:/Users/.../df2") ad nauseam 显然,这并不理想:名称的更改意味着检查每一个案例并对其进行更新。我考虑过使用类似于 lapply(lst, f(x) write.csv(x, "C:/Users/.../x") 但这显然行不通。如何将列表中的每个数据帧保存为单独的.

我有一个要保存到独立.csv文件的数据帧列表

目前,我对每个数据帧都有一个新行:

write.csv(lst$df1, "C:/Users/.../df1")
write.csv(lst$df2, "C:/Users/.../df2")
ad nauseam
显然,这并不理想:名称的更改意味着检查每一个案例并对其进行更新。我考虑过使用类似于

lapply(lst, f(x) write.csv(x, "C:/Users/.../x") 
但这显然行不通。如何将列表中的每个数据帧保存为单独的.csv文件?

您可以执行以下操作:

N <- names(lst)
for (i in seq_along(N)) write.csv(lst[[i]], file=paste0("C:/Users/.../"), N[i], ".csv")


mappy
函数及其
Map
包装器是
lappy
的多参数版本。您有
data.frame
s的列表;您需要构建一个文件名向量。像这样:

filenames<-paste0("C:/Users/.../",names(lst), ".csv")
Map(write.csv,lst,filenames)

由于您还可以按名称访问列表项,因此您甚至可以迭代名称本身。
lapply(names(lst), function(df) write.csv(lst[[df]], file=paste0("C:/Users/.../"), df, ".csv") )
filenames<-paste0("C:/Users/.../",names(lst), ".csv")
Map(write.csv,lst,filenames)
list(write.csv(lst[[1]],filenames[[1]]),write.csv(lst[[2]],filenames[[2]]),...)