Boa tarde grupo!
Estou com um problema que acredito ser bastante simples de resolver, porém, pesquisei e ainda não encontrei alternativa prática.
A grosso modo, quero empilhar bases para formar uma única. O problema é que elas não possuem o mesmo layout. Todas possuem algumas colunas em comum e outras não. Quando uma base não possuir determinada coluna gostaria de deixar NA nos registros oriundos dessa base.
Para quem conhece SAS, procuro o resultado de fazer simplesmente:
DATA base_final;
SET Base1
Base2;
RUN;
No R ainda não consigo utilizar a função rbind com o mesmo resultado.
Segue exemplo para reprodução.
# Exemplo
d1<-data.frame(index=1,a=1,b=91)
d2<-data.frame(index=1,b=92,a=2,c=200)
rbind.data.frame(d1,d2)
Erro em rbind.data.frame(d1, d2) :
números de colunas dos argumentos não correspondem
O resultado que desejo é
index a b c
1 1 91 NA
1 2 92 200
O rbind troca a posição das colunas baseada nos nomes. Isso ajuda. Mas não sei como fazer funcionar quando algumas colunas estão apenas em algumas bases, o que no exemplo acontece com a coluna c da base d2.
Como vocês fariam?
Abraços,
Paulo Nogueira Starzynski