Problema na conversão de uma lista longa de data.frames (~ 1 milhão) em data.frame único usando do.call e ldply
Eu sei que existem muitas perguntas aqui no SO sobre maneiras de converter uma lista de data.frames em um único data.frame usando do.call ou ldply, mas essa pergunta é sobre como entender o funcionamento interno dos dois métodos e tentar descobrir por que não consigo trabalhar para concatenar uma lista de quase 1 milhão de df da mesma estrutura, mesmos nomes de campo etc. em um único data.frame. Cada data.frame é de uma linha e 21 coluna
Os dados começaram como um arquivo JSON, que converti em listas usando fromJSON, depois executamos outra lapply para extrair parte da lista e convertidos em data.frame e terminamos com uma lista de data.frame
Eu tentei
df <- do.call("rbind", list)
df <- ldply(list)
mas tive que interromper o processo depois de deixá-lo funcionar por até 3 horas e não receber nada de volt
Existe um método mais eficiente de fazer isso? Como posso solucionar o que está acontecendo e por que está demorando tanto?
FYI - Estou usando o servidor RStudio em um servidor quad-core de 72 GB com RHEL, então não acho que a memória seja o problema. sessionInfo abaixo:
> 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
>