将多个数据帧导出到 .csv 文件中

2024-01-20

我想使用循环将多个数据帧作为单独的 csv 文件导出到工作目录,而不是写出所有名称

##Sample data frame

employee <- c('John Doe','Peter Gynn','Jolie Hope')
salary <- c(21000, 23400, 26800)
startdate <- as.Date(c('2010-11-1','2008-3-25','2007-3-14'))
d30 <- data.frame(employee, salary, startdate)

##Creating a few of the same name for illustrative purposes
d39 <- data.frame(employee, salary, startdate)
d40 <- data.frame(employee, salary, startdate)

for (list in c(d30,d39)){
  write.csv(list, file="list.csv", row.names = FALSE)
}

显然我错了。但我不知道该怎么做。


迭代数据框名称。我们假设所有名称都以 d 开头,长度为 3。如果没有则修改模式或直接设置nms如果你认识他们。我们还进行第二次检查,确保名称是数据框,但如果您确定不存在非数据框且名称与模式匹配的对象,则可以省略该检查。

nms <- ls(pattern = "^d..$")
for(nm in nms) {
  X <- get(nm)
  if (is.data.frame(X)) {
    filename <- paste0(nm, ".csv")
    message("writing out ", filename)
    write.csv(X, file = filename, row.names = FALSE)
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将多个数据帧导出到 .csv 文件中 的相关文章

随机推荐