Разделите набор данных на несколько небольших наборов данных и запишите его в CSV-файлы, используя R - PullRequest
0 голосов
/ 27 сентября 2018

Я новичок в R, и мне нужна помощь для задачи,

Я импортировал большой CSV-файл (около 20 столбцов и ~ 40000 строк) в R

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

Я хочу разбить этот набор данных ParentAccount (по строкам) на несколько небольших наборов данных с примерно 2000 строками в каждом и записать его в эти много CSV-файлов.(В этом случае может быть около 20 CSV-файлов).

Я могу сделать это с долгим подходом, разделив набор данных и записав оператор write.csv несколько раз, но я ищу более оптимизированный способ ...

Заранее спасибо!

PS: Я не хочу делиться на несколько наборов данных путем случайного выбора строк.Я хочу сохранить последовательность строк.Например, строки от 1 до 2000 в первом наборе данных, от 2001 до 4000 во втором и т. Д.

1 Ответ

0 голосов
/ 28 сентября 2018

Вот пример использования набора данных 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 = ""))})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...