R에서 left join을 수행하는 방법(예제 포함)
merge() 함수를 사용하여 기본 R에서 왼쪽 조인을 수행할 수 있습니다.
#left join using base R merge(df1,df2, all. x = TRUE )
dplyr 패키지의 left_join() 함수를 사용하여 왼쪽 조인을 수행할 수도 있습니다.
#left join using dplyr
dplyr::left_join(df2, df1)
참고: 매우 큰 데이터 세트로 작업하는 경우 left_join() 함수가 merge() 함수보다 빠른 경향이 있습니다.
다음 예에서는 다음 데이터 프레임에서 이러한 각 기능을 실제로 사용하는 방법을 보여줍니다.
#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
예 1: Base R을 사용한 왼쪽 조인
기본 R의 merge() 함수를 사용하여 ‘team’ 열을 조인할 열로 사용하여 왼쪽 조인을 수행할 수 있습니다.
#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
예 2: dplyr을 사용한 왼쪽 조인
dplyr 패키지의 left_join() 함수를 사용하여 ‘team’ 열을 조인할 열로 사용하여 왼쪽 조인을 수행할 수 있습니다.
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
이 두 함수 사이에서 알 수 있는 한 가지 차이점은 merge() 함수가 조인을 수행하는 데 사용한 열을 기반으로 행을 사전순으로 자동 정렬한다는 것입니다.
반대로 left_join() 함수는 첫 번째 데이터 프레임에 있는 행의 원래 순서를 유지합니다.
추가 리소스
다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
R에서 내부 조인을 수행하는 방법
R에서 퍼지 매칭을 수행하는 방법
R의 데이터 프레임에 열을 추가하는 방법
R의 데이터 프레임에서 열을 제거하는 방법