Manipulação de grandes bases de dados no R

Oi, pessoal. Tudo bem?

Tenho usado o R para fazer algumas análises de dados. Quando você trabalha com uma grande base de dados (50 milhões de linhas, por exemplo), até certo ponto dá para importar o arquivo usando a função data.table::fread() e também já selecionar apenas as colunas de interesse.

Mas e quando os arquivos são cada vez maiores? E depois ainda precisamos cruzar com outros arquivos tão grandes quanto? Quais soluções vocês sugerem no R para lidar com um CSV de 4GB?

1 Curtida

Oi @gabriela, para volumes de dados muito grande, eu indicaria utilizar armazená-los e consultá-los com um banco de dados, como o SQL. Você pode usar inclusive usar o R para lidar com o banco, mas assim “terceiriza” o trabalho pesado para uma tecnologia que foi feita exclusivamente para isso.

Neste benchmark, você encontra um comparativo de perfomance entre R e SQL. Vou colar abaixo a conclusão do autor.

First, while R performs some things with lightning speed and some other things quite slowly, SQL shows a remarkably stable performance at 750 to 1300 microseconds. This stable speed performance is not influenced by whether the data base resides on disk or in memory. So, dealing with data bases via SQL is not just stable in terms of data storage and access but also in terms of speed. R can get slow with more complicated queries while SQL keeps on performing well.

1 Curtida