Como fazer uma junção correta em r (com exemplos)


Existem duas maneiras comuns de realizar uma junção à direita em R:

Método 1: Use Base R

 merge(df1, df2, by=' column_to_join_on ', all. y = TRUE )

Método 2: use dplyr

 library (dplyr)

right_join(df1, df2, by=' column_to_join_on ')

Ambos os métodos retornarão todas as linhas de df2 e todas as linhas com chaves correspondentes de df1 .

Também é importante notar que ambos os métodos produzirão o mesmo resultado, mas o método dplyr tenderá a ter um desempenho mais rápido em conjuntos de dados extremamente grandes.

Os exemplos a seguir mostram como usar cada uma dessas funções na prática com os seguintes quadros de dados:

 #define first data frame
df1 = data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
                 points=c(18, 22, 19, 14, 14, 11, 20, 28))

df1

  team points
1 to 18
2 B 22
3 C 19
4 D 14
5 E 14
6 F 11
7 G 20
8:28 a.m.

#define second data frame
df2 = data. frame (team=c('A', 'B', 'C', 'D', 'L', 'M'),
                 assists=c(4, 9, 14, 13, 10, 8))

df2

  team assists
1 to 4
2 B 9
3 C 14
4 D 13
5 L 10
6 M 8

Exemplo 1: Junção à direita usando Base R

Podemos usar a função merge() na base R para realizar uma junção à direita, usando a coluna ‘team’ como a coluna à qual ingressar:

 #perform right join using base R
df3 <- merge(df1, df2, by=' team ', all. y = TRUE )

#view result
df3

  team points assists
1 to 18 4
2 B 22 9
3 C 19 14
4 D 14 13
5 L NA 10
6 M NA 8

Observe que todas as linhas do df2 foram incluídas no quadro de dados final, mas apenas as linhas do df1 que tinham um nome de equipe correspondente foram incluídas no quadro de dados final.

Exemplo 2: junção à direita usando dplyr

Podemos usar a função right_join() do pacote dplyr para realizar uma junção à direita, usando a coluna ‘team’ como a coluna à qual ingressar:

 library (dplyr)

#perform right join using dplyr 
df3 <- right_join(df1, df2, by=' team ')

#view result
df3

  team points assists
1 to 18 4
2 B 22 9
3 C 19 14
4 D 14 13
5 L NA 10
6 M NA 8

Observe que isso corresponde ao resultado que obtivemos usando a função merge() na base R.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em R:

Como fazer uma junção à esquerda no R
Como adicionar coluna ao quadro de dados em R
Como remover colunas do quadro de dados em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *