将环境中的数据帧写入单独的csv文件中

时间:2018-02-09 13:40:37

标签: r csv rstudio export-to-csv

我正在尝试使用下面的代码将R环境中的所有数据集导出到单独的csv文件中。

出于某种原因,导出的数据集为空。

files <- ls()
pattern <- ".csv"

for (i in 1:length(files)) {
  write.csv(files[i], paste(files[i], pattern, sep = ""))
}

1 个答案:

答案 0 :(得分:2)

这里的问题是ls()返回环境中对象的名称,而不是对象本身。这意味着您的循环正在尝试将单个字符串导出为csv文件。

要解决此问题,您需要使用mget(),如下所示:

files <- mget(ls())

for (i in 1:length(files)){
  write.csv(files[[i]], paste(names(files[i]), ".csv", sep = ""))
}

注意:您需要注意正确使用[[i]][i]