Agora pude ter uma ideia melhor do seu trabalho. Pelo volume de dados acho que cai no que o pessoal se refere como 'big data'. Nessa área tem várias recomendações de pacotes que já vi aqui na lista, sendo que já tive oportunidade de ver alguma coisa com o pacote {data.table}.
Transformando os dados em um data.table() ao invés de data.frame(), o processamento é agilizado, desde que empregada a sintaxe correta. Até onde sei, todas as funções que aceitam data.frame() trabalham com data.table(), mas a forma de uso tem algumas diferenças.
Não sei se você dispõe de tempo pra isso nesse momento, mas minha sugestão é tentar ajustar os dados para data.table() e avaliar o desempenho no script elaborado para trabalhar inicialmente com o data.frame.
Se tiver interesse, sugiro criar um tópico novo tentando capturar a atenção do pessoal da lista que tem experiência com uso de 'big data'.