R 기초 207 데이터 합치기 (Merging Data)
preface 이번 포스트에서는 데이터를 합치는 방법에 대하여 설명합니다.
다음 자료를 참고하였습니다:
데이터를 수직으로 연결 (Adding Rows)
데이터프레임을 수직으로 연결(관측치 추가)하기 위해서는 rbind( )
함수를 사용합니다. 두 데이터프레임은 같은 변수명을 가지고 있어야 합니다. 변수 순서는 달라도 상관 없습니다.
total <- rbind(dataframeA, dataframeB)
만약 dataframeA 가 dataframeB 에 없는 변수를 가지고 있는 경우 rbind( )
를 사용하기 전에 다음을 실시합니다:
- dataframeA 에서 해당 변수를 삭제하거나
- dataframeB 에서 해당 변수를 만들어 NA(missing) 입력합니다.
데이터를 수평으로 연결 (Adding Columns)
데이터프레임을 수평으로 연결(변수 추가)하기 위해서는 merge( )
함수를 사용합니다. 이때, 하나 이상의 primary key 를 이용해서 이를 기준으로 데이터를 합칩니다.
# merge two data frames by ID
total <- merge(dataframeA,dataframeB,by="ID")
# merge two data frames by ID and Country
total <- merge(dataframeA,dataframeB,by=c("ID","Country"))
dplyr 패키지 join 함수
dplyr 패키지를 사용하면 inner join, left join, full join 등 다양한 join 함수를 사용할 수 있습니다. Cheatsheet for dplyr join functions를 참고하면 각 join 에 대해 쉽게 이해할 수 있습니다.