
o problema nao esta' completamente definido... por exemplo, o q e' pra acontecer se vc tiver um registro em d1 que tenha os mesmos valores para 'a', 'b' e 'c' em d2? minha solucao comecaria com merge(d1, d2, all=TRUE) b 2012/8/20 Paulo Nogueira <paulons@gmail.com>:
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
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.