Jak wykonać lewe połączenie w r (z przykładami)


Możesz użyć funkcji merge() , aby wykonać lewe złączenie w bazie R:

 #left join using base R
merge(df1,df2, all. x = TRUE )

Możesz także użyć funkcji left_join() z pakietu dplyr , aby wykonać lewe połączenie:

 #left join using dplyr
dplyr::left_join(df2, df1)

Uwaga: Jeśli pracujesz z bardzo dużymi zbiorami danych, funkcja left_join() będzie zazwyczaj szybsza niż funkcja merge() .

Poniższe przykłady pokazują, jak w praktyce wykorzystać każdą z tych funkcji z następującymi ramkami danych:

 #define first data frame
df1 <- data. frame (team=c(' Mavs ', ' Hawks ', ' Spurs ', ' Nets '),
                  dots=c(99, 93, 96, 104))

df1

   team points
1 Mavs 99
2 Hawks 93
3 Spurs 96
4 Nets 104

#define second data frame
df2 <- data. frame (team=c(' Mavs ', ' Hawks ', ' Spurs ', ' Nets '),
                  rebounds=c(25, 32, 38, 30),
                  assists=c(19, 18, 22, 25))

df2

   team rebound assists
1 Mavs 25 19
2 Hawks 32 18
3 Spurs 38 22
4 Nets 30 25

Przykład 1: Złączenie lewe przy użyciu podstawy R

Możemy użyć funkcji merge() w bazie R, aby wykonać lewe złączenie, używając kolumny „zespół” jako kolumny, do której należy się połączyć:

 #perform left join using base R
merge(df1, df2, by=' team ', all. x = TRUE )

   team points rebound assists
1 Hawks 93 32 18
2 Mavs 99 25 19
3 Nets 104 30 25
4 Spurs 96 38 22

Przykład 2: Lewe połączenie przy użyciu dplyr

Możemy użyć funkcji left_join() z pakietu dplyr, aby wykonać lewe złączenie, używając kolumny „team” jako kolumny, do której należy dołączyć:

 library (dplyr)

#perform left join using dplyr 
left_join(df1, df2, by=' team ')

   team points rebound assists
1 Mavs 99 25 19
2 Hawks 93 32 18
3 Spurs 96 38 22
4 Nets 104 30 25

Jedną z różnic, którą zauważysz pomiędzy tymi dwiema funkcjami, jest to, że funkcja merge() automatycznie sortuje wiersze alfabetycznie na podstawie kolumny użytej do wykonania łączenia.

I odwrotnie, funkcja left_join() zachowuje oryginalną kolejność wierszy w pierwszej ramce danych.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w języku R:

Jak wykonać złączenie wewnętrzne w R
Jak wykonać dopasowanie rozmyte w R
Jak dodać kolumnę do ramki danych w R
Jak usunąć kolumny z ramki danych w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *