Dplyr을 사용하여 여러 열에 걸쳐 데이터 프레임을 결합하는 방법


다음 기본 구문을 사용하여 dplyr을 사용하여 여러 열을 기반으로 R의 데이터 프레임을 조인할 수 있습니다.

 library (dplyr)

left_join(df1, df2, by=c(' x1 '=' x2 ', ' y1 '=' y2 '))

이 특정 구문은 다음 조건이 충족되는 왼쪽 조인을 수행합니다.

  • df1의 x1 열 값은 df2의 x2 열 값과 일치합니다.
  • df1의 y1 열 값은 df2의 y2 열 값에 해당합니다.

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: dplyr을 사용하여 여러 열 결합

R에 다음과 같은 두 개의 데이터 프레임이 있다고 가정합니다.

 #define first data frame
df1 = data. frame (team=c('A', 'A', 'B', 'B'),
                 pos=c('G', 'F', 'F', 'G'),
                 dots=c(18, 22, 19, 14))

df1

  team pos points
1 AG 18
2 AF 22
3 BF 19
4 BG 14

#define second data frame
df2 = data. frame (team_name=c('A', 'A', 'B', 'C', 'C'),
                 position=c('G', 'F', 'F', 'G', 'F'),
                 assists=c(4, 9, 8, 6, 5))

df2

  team_name position assists
1 GA 4
2 AF 9
3 BF 8
4 CG 6
5 CF 5

dplyr에서 다음 구문을 사용하여 두 열을 기반으로 왼쪽 조인을 수행할 수 있습니다.

 library (dplyr)

#perform left join based on multiple columns
df3 <- left_join(df1, df2, by=c(' team '=' team_name ', ' pos '=' position '))

#view result
df3

  team pos points assists
1 AG 18 4
2 AF 22 9
3 BF 19 8
4 BG 14 NA

결과 데이터 프레임에는 df1 의 모든 행과 팀 및 위치 값이 일치하는 df2 의 행만 포함됩니다.

또한 두 데이터 프레임이 동일한 열 이름을 공유하는 경우 다음 구문을 사용하여 여러 열을 조인할 수 있습니다.

 library (dplyr)

#perform left join based on multiple columns
df3 <- left_join(df1, df2, by=c(' team ', ' position '))

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

R에서 왼쪽 조인을 수행하는 방법
R에서 올바른 조인을 수행하는 방법
R에서 내부 조인을 수행하는 방법
R에서 외부 조인을 수행하는 방법

의견을 추가하다

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