如何从数据框列表中写入多个CSV文件?

Use*_*ame 4 csv r

我有一个包含两个数据框的列表.我想循环遍历列表并为每个数据帧写一个CSV,并在数据帧名称后面命名.

library(ggplot2)
myList <- list(diamonds, cars)
for(i in mylist){
  write.csv(df, paste0(names(myList[i]),".csv"))
}
Run Code Online (Sandbox Code Playgroud)

但这只输出一个.csv带有数据的CSV文件名cars.

我该如何解决这个问题,因此我有两个名为CSV的CSV diamonds.csv并且cars.csv每个都有正确的数据?

Ben*_*min 11

一些事情.

  1. myList 没有任何名称,因此您实际上并没有命名您的文件.
  2. 一旦你给出了myList名字,你最好沿着名字而不是沿着名单进行索引
  3. 你df在for循环中使用,但没有在任何地方定义.

这应该工作(未经测试)

myList <- list(diamonds = diamonds, 
               cars = cars)
for(i in names(mylist)){
  write.csv(myList[[i]], paste0(i,".csv"))
}
Run Code Online (Sandbox Code Playgroud)


Nea*_*ltz 5

您也可以使用mapply:

myList <- list(diamonds = diamonds, 
               cars = cars)
mapply(write.csv, myList, file=paste0(names(myList), '.csv'))
Run Code Online (Sandbox Code Playgroud)