[R-br] Empilhar data-frames com colunas diferentes

Paulo Nogueira paulons em gmail.com
Segunda Agosto 20 18:53:40 BRT 2012


Oi Benilton.
Eu não preciso de um merge, preciso apenas empilhar as bases.
No exemplo que levantou, os registros ficariam empilhados na base final com
os mesmos valores.

Obrigado,
Paulo

Em 20 de agosto de 2012 17:37, Benilton Carvalho <beniltoncarvalho em gmail.com
> escreveu:

> 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 em 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 em 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.
> _______________________________________________
> R-br mailing list
> R-br em 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120820/4831a6d0/attachment.html>


Mais detalhes sobre a lista de discussão R-br