Jak wykonać prawidłowe połączenie w r (z przykładami)
Istnieją dwa typowe sposoby wykonywania prawego złączenia w języku R:
Metoda 1: Użyj podstawy R
merge(df1, df2, by=' column_to_join_on ', all. y = TRUE )
Metoda 2: użyj dplyr
library (dplyr) right_join(df1, df2, by=' column_to_join_on ')
Obie metody zwrócą wszystkie wiersze z df2 i wszystkie wiersze z pasującymi kluczami z df1 .
Warto również zauważyć, że obie metody dadzą ten sam wynik, ale metoda dplyr będzie działać szybciej w przypadku bardzo dużych zbiorów danych.
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('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
Przykład 1: Prawe łączenie przy użyciu podstawy R
Możemy użyć funkcji merge() w bazie R, aby wykonać łączenie prawostronne, używając kolumny „zespół” jako kolumny, do której należy się połączyć:
#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
Należy zauważyć, że wszystkie linie z df2 zostały uwzględnione w końcowej ramce danych, ale w końcowej ramce danych znalazły się tylko linie z df1 , które miały pasującą nazwę zespołu.
Przykład 2: Prawe łączenie przy użyciu dplyr
Możemy użyć funkcji Right_join() z pakietu dplyr , aby wykonać łączenie prawostronne, używając kolumny „team” jako kolumny, do której należy dołączyć:
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
Zauważ, że odpowiada to wynikowi, który uzyskaliśmy za pomocą funkcji merge() w bazie R.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w języku R:
Jak wykonać lewe złączenie w R
Jak dodać kolumnę do ramki danych w R
Jak usunąć kolumny z ramki danych w R