使用r中的for循环在不同的.csv文件中编写列表对象

时间:2016-03-28 07:08:55

标签: r csv dataframe

我希望将列表对象写入不同的csv文件,我该怎么做 就像我想要dataFrame" a"要写入不同的csv文件,dataFrame" b"要写入不同的csv文件等。 任何帮助将非常感激 这是我试过的

a = data.frame(1:5)
b = data.frame(c(11,22,33,44,55))
d = data.frame(c("aa","bb","cc","dd","ee"))
e = data.frame(c(TRUE,FALSE,TRUE,TRUE,FALSE))
g = data.frame(c(1,0,1,0,1))
myList <- list(a,b,d,e,g)
myfunction <- function(myList) {
  for(i in 1:myList) {
    write.table(myList[i], file = paste(names(myList), ".csv", sep = "",sep = ",")
  }
 }

1 个答案:

答案 0 :(得分:1)

首先,你的代码中有几个拼写错误。例如。粘贴命令后没有关闭括号

但是,您的代码不起作用的主要原因是,因为您没有创建命名列表。 如果要使用列表中的名称,则需要为列表元素命名。否则names(myList)将仅返回NULL。看看现在如何定义myList

a = data.frame(1:5)
b = data.frame(c(11,22,33,44,55))
d = data.frame(c("aa","bb","cc","dd","ee"))
e = data.frame(c(TRUE,FALSE,TRUE,TRUE,FALSE))
g = data.frame(c(1,0,1,0,1))
myList <- list(a=a,b=b,d=d,e=e,g=g)

myfunction <- function(myList) {
  for(i in seq(1,length(myList))) {
  write.table(myList[[i]], file = paste(names(myList)[i], ".csv", sep=""),sep = ",")
  }
}