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의 데이터 프레임에서 열을 제거하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다