[R-br] RES: chave dupla no merge

Leandro Marino leandro em cesgranrio.org.br
Quinta Outubro 27 09:18:07 BRST 2011


Um CMR


set.seed(1)
ref <- data.frame(V1 = LETTERS[1:26],V2 = sample(1:26,26,replace=F))
df1 <- ref
set.seed(1)
df1$V3 <- rnorm(26,250,50)
set.seed(1)
df2 <- ref[sample(1:26,26,replace=F),]
df2$V4 <- trunc(rnorm(26,1000,100))

df1
df2

df3 <- merge(df1,df2,by=c('V1','V2'),all=T)   #todas as observações dos dois
df4 <- merge(df1,df2,by=c('V1','V2'),all.x=T) #todos do primeiro DF
df5 <- merge(df1,df2,by=c('V1','V2'),all.y=T) #todos do segundo DF
df6 <- merge(df1,df2,by=c('V1','V2'))         #apenas as observações comuns

# caso o nome das variáveis seja diferente
df7 <- merge(df1,df2,by.x=c('V1','V2'),by.y=c('V1','V4'),all=T)   #todas as observações dos dois
df8 <- merge(df1,df2,by.x=c('V1','V2'),by.y=c('V1','V4'),all.x=T) #todos do primeiro DF
df9 <- merge(df1,df2,by.x=c('V1','V2'),by.y=c('V1','V4'),all.y=T) #todos do segundo DF
df0 <- merge(df1,df2,by.x=c('V1','V2'),by.y=c('V1','V4'))         #apenas as observações comuns






Atenciosamente,
Leandro Lins Marino
Centro de Avaliação
Fundação CESGRANRIO
Rua Santa Alexandrina, 1011 - 2º andar
Rio de Janeiro, RJ - CEP: 20261-903
R (21) 2103-9600 R.:236 
( leandro em cesgranrio.org.br

  Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE 

Esta mensagem, incluindo seus anexos, pode conter informacoes privilegiadas e/ou de carater confidencial, nao podendo ser retransmitida sem autorizacao do remetente. Se voce nao e o destinatario ou pessoa autorizada a recebe-la, informamos que o seu uso, divulgacao, copia ou arquivamento sao proibidos. 
Portanto, se você recebeu esta mensagem por engano, por favor, nos informe respondendo imediatamente a este e-mail e em seguida apague-a.


-----Mensagem original-----
De: r-br-bounces em listas.c3sl.ufpr.br [mailto:r-br-bounces em listas.c3sl.ufpr.br] Em nome de Jakson Alves de Aquino
Enviada em: quarta-feira, 26 de outubro de 2011 19:32
Para: r-br em listas.c3sl.ufpr.br
Assunto: Re: [R-br] chave dupla no merge

2011/10/26 Vinicius Brito Rocha <viniciusbritor em gmail.com>:
> consigo usar a função merge para realizar um left join com duas chaves?
> com uma uso normalmente.

Uma opção é concatenar as duas:

chave <- paste(as.character(chave1), as.character(chave2))

-- 
Jakson
_______________________________________________
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.




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