【问题标题】:Divide a dataset into multiple small datasets and writing it into csv files using R将一个数据集划分为多个小数据集,并使用 R 将其写入 csv 文件
【发布时间】:2019-03-03 17:32:30
【问题描述】:

我是 R 的初学者,我需要某项任务的帮助,

我在 R 中导入了一个大的 csv 文件(大约 20 列和 ~40000 行)

ParentAccount <- read.csv("FullAccountList.csv")

我想将此 ParentAccount 数据集(按行)分解为多个小数据集,每个小数据集大约有 2000 行,并将其写入这些许多 CSV 文件。 (在这种情况下,可能有大约 20 个 CSV 文件)。

我可以通过划分数据集并多次编写 write.csv 语句来使用长方法来做到这一点,但我正在寻找一种更优化的方式...

提前致谢!

P.S.:我不想通过随机选择行来划分多个数据集。我想保持行的顺序。例如,第一个数据集中的第 1 行到 2000 行,第二个数据集中的 2001 到 4000 行,依此类推。

【问题讨论】:

    标签: r loops csv dataset


    【解决方案1】:

    这是使用iris 数据集的示例。

    ParentAccount <- iris
    # split you data in a list of 5 dataframes, each has 30 rows
    # In your case, it's a list of 20 dataframes, each has 2000 rows
    ParentAccount.ls <- split(ParentAccount, rep(1:5, each = 30)) # in your case, use rep(1:20, each = 2000)
    # save the files
    lapply(names(ParentAccount.ls),
           function(x) {write.csv(ParentAccount.ls[[x]],
                                  file = paste("FullAccountList", x, ".csv", sep = ""))})
    

    【讨论】:

      猜你喜欢
      • 2014-12-29
      • 1970-01-01
      • 2011-02-21
      • 2021-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-26
      相关资源
      最近更新 更多