【问题标题】:Write data frames in environment into separate csv files将环境中的数据帧写入单独的 csv 文件
【发布时间】:2018-07-20 07:18:38
【问题描述】:

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

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

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

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

【问题讨论】:

  • 如何为单个 data.frame 编写输出?由于ls() 只返回一个字符向量,请查看get(...),它允许您通过变量名访问数据

标签: r csv rstudio export-to-csv


【解决方案1】:

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

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

files <- mget(ls())

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-03
    • 1970-01-01
    • 1970-01-01
    • 2011-07-16
    • 2017-06-03
    • 2019-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多