将数据集划分为多个小型数据集,然后使用R

时间:2018-09-27 18:29:30

标签: r loops csv dataset

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

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

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

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

我可以通过划分数据集并多次写入write.csv语句来实现长距离的实现,但是我正在寻找一种更优化的方法...

谢谢!

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

1 个答案:

答案 0 :(得分:0)

以下是使用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 = ""))})