A: 여러 열을 기반으로 데이터 프레임을 병합하는 방법


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

 merge(df1, df2, by. x =c(' col1 ', ' col2 '), by. y =c(' col1 ', ' col2 '))

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

예: 여러 열의 데이터 블록 병합

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

 #define data frames
df1 = data. frame (playerID=c(1, 2, 3, 4, 5, 6),
                 team=c('A', 'B', 'B', 'B', 'C', 'C'),
                 dots=c(19, 22, 25, 29, 34, 39))

df2 = data. frame (playerID=c(1, 2, 3, 4),
                 tm=c('A', 'B', 'B', 'B'),
                 rebounds=c(7, 8, 8, 14))

#view first data frame
df1

  playerID team points
1 1 A 19
2 2 B 22
3 3 B 25
4 4 B 29
5 5 C 34
6 6 C 39

#view second data frame
df2 

  playerID tm rebounds
1 1 To 7
2 2 B 8
3 3 B 8
4 4 B 14

두 데이터 프레임 모두 playerID 열을 공유하지만 팀 열은 각 데이터 프레임에서 서로 다른 이름을 갖습니다.

  • 첫 번째 데이터 프레임에는 ‘ ‘ 열이 있습니다.
  • 두 번째 데이터 프레임에는 ‘ tm ‘ 열이 있습니다.

playerID 및 팀 열을 기반으로 이러한 데이터 프레임을 병합하려면 by.xby.y 인수를 사용해야 합니다.

이 병합을 수행하려면 다음 코드를 사용할 수 있습니다.

 #merge two data frames
merged = merge(df1, df2, by. x =c(' playerID ', ' team '), by. y =c(' playerID ', ' tm '))

#view merged data frame
merged

  playerID team points rebounds
1 1 A 19 7
2 2 B 22 8
3 3 B 25 8
4 4 B 29 14

병합된 최종 데이터 프레임에는 원래 두 데이터 프레임에 속한 네 명의 플레이어 모두에 대한 데이터가 포함되어 있습니다.

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 데이터 프레임 기능을 수행하는 방법을 설명합니다.

R에서 왼쪽 조인을 수행하는 방법
R에서 VLOOKUP을 수행하는 방법
R의 데이터 프레임에 행을 추가하는 방법

의견을 추가하다

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