Проблемы с преобразованием длинного списка data.frames (~ 1 млн.) В один data.frame с использованием do.call и ldply
Я знаю, что в SO много вопросов о способах преобразования списка data.frames в один data.frame с использованием do.call или ldply, но это вопросы о понимании внутренней работы обоих методов и попытке выяснить, почему Я не могу заставить работать конкатенацию списка из почти 1 миллиона df с одинаковой структурой, одинаковыми именами полей и т. Д. В один data.frame. Каждый data.frame состоит из одной строки и 21 столбца.
Данные начинались как файл JSON, который я конвертировал в списки, используя fromJSON, затем запустил еще один пакет для извлечения части списка, преобразовал в data.frame и в итоге получил список data.frames.
Я пробовал:
df <- do.call("rbind", list)
df <- ldply(list)
но мне пришлось убить процесс после того, как он работал до 3 часов и ничего не получил обратно.
Есть ли более эффективный способ сделать это? Как я могу устранить неполадки, что происходит и почему это занимает так много времени?
К вашему сведению - я использую сервер RStudio на четырехъядерном сервере 72 ГБ с RHEL, поэтому не думаю, что проблема с памятью. сессия ниже:
> sessionInfo()
R version 2.14.1 (2011-12-22)
Platform: x86_64-redhat-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=C LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] multicore_0.1-7 plyr_1.7.1 rjson_0.2.6
loaded via a namespace (and not attached):
[1] tools_2.14.1
>