我有一个包含两个数据框的列表。我想循环遍历列表并为每个数据帧写一个CSV,并在数据帧名称后面命名。
library(ggplot2)
myList <- list(diamonds, cars)
for(i in mylist){
write.csv(df, paste0(names(myList[i]),".csv"))
}
但这仅输出一个CSV文件名.csv
,其中包含来自cars
的数据。
如何解决此问题,以便我有两个名为diamonds.csv
和cars.csv
的CSV,每个都有正确的数据?
答案 0 :(得分:11)
一些事情。
myList
没有任何名称,因此您实际上并没有命名文件。myList
名称,您最好在名称上编制索引而不是列表df
循环中使用for
,但未在任何地方定义。这应该有效(未经测试)
myList <- list(diamonds = diamonds,
cars = cars)
for(i in names(mylist)){
write.csv(myList[[i]], paste0(i,".csv"))
}
答案 1 :(得分:5)
您还可以使用mapply
:
myList <- list(diamonds = diamonds,
cars = cars)
mapply(write.csv, myList, file=paste0(names(myList), '.csv'))