Pesquisei bastante, mas não consegui encontrar uma solução que atenda a todos esses objetivos de uma só vez:
- Tenho centenas de arquivos RData localizados em diferentes subpastas.
- Em cada um desses arquivos RData, tenho um único objeto data.frame e outros objetos de caracteres. O objeto data.frame sempre tem 48 colunas, mas o número de linhas pode variar (várias centenas de milhares).
Gostaria de poder importar apenas os data.frames para uma lista (ou seja, sem os outros objetos de caracteres nem os outros formatos), selecionando apenas as colunas 3, 4, 5 e 6, e então vinculá-los a um novo objeto único no ambiente (ou seja, não mais em uma lista).
Pergunta opcional: dado o grande número e tamanho dos data.frames, não seria melhor convertê-los em data.tables primeiro?
Obrigado pela ajuda.
Desculpe, mas dada a complexidade do caso, não vejo como fornecer um exemplo concreto para testar.
Assumindo
data.frame
em cada.RData
arquivo, e3:6
existem em cada,você pode querer começar a desenvolver algo robusto a partir de
Se o nome
data.frame
for sempre o mesmo, isso pode ser feito de forma ainda mais concisa. A subdivisão por nomes de colunas é menos propensa a erros, mas exige que todos os quadros de dados tenham os mesmos nomes de coluna (sem erros de digitação).Observação
data.table::rbindlist()
lida comdata.frame
objetos muito bem e é bem rápido.Uma maneira é colocar
load
os arquivos .RData em um ambiente temporário para não sobrescrever nada.