我是R的初学者,我需要一项任务的帮助,
我已经在R中导入了一个大型的csv文件(大约20列和约40000行)
ParentAccount <- read.csv("FullAccountList.csv")
我想将此ParentAccount数据集(逐行)分解为多个小型数据集,每个数据集约有2000行,并将其写入许多CSV文件中。 (在这种情况下,大约可以包含20个CSV文件。)
我可以通过划分数据集并多次写入write.csv语句来实现长距离的实现,但是我正在寻找一种更优化的方法...
谢谢!
P.S .:我不想通过随机选择行将其分为多个数据集。我想保持行的顺序。例如,第一个数据集的第1到2000行,第二个数据集的第2001至4000行,依此类推。
答案 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 = ""))})