본문 바로가기
R

[R프로그램] Rstudio에서 데이터 병합 merge 하는 방법

by SASBIGDATA김진휘 2014. 6. 3.

데이터 핸들링을 하면서 가장 많이하는 작업중 하나가 데이터 병합이다.

merge라고 하는데 R프로그램에서 Rstudio로 merge(가로병합)하는 방법을 알아보자.

 

merge(dataframe1, dataframe2, by= "dataframe1과 2에 공통으로 존재하는 병합시 기준이 되는 변수명")

 

먼저 데이터프레임이 2개가 필요하므로 샘플데이터를 생성한다. 아래그림의 코딩 및 결과 참조

 

 

1. dataframe1 자리에 들어갈 jin이라는 데이터프레임을 아래와 같이 생성하였다.

 

 

 

 

2. dataframe2 자리에 들어갈 hwi라는 데이터프레임을 아래와 같이 생성하였다. 

 

 

 

3.merge문장을 이용해 jin이라는 데이터프레임과 hwi라는 데이터프레임을 결합한다.

  by= 부분에는 두개의 데이터프레임에 공통으로 존재하는 기준이 되는 name변수를 입력한다.

 

 

 

위의 결과를 보면 두개의 데이터 프레임에 있는 name변수를 기준으로 일치하는 값에 대해서 가로 병합이 된 것을 알수가 있다. dataframe1과 2의 위치에 들어가는 데이터프레임들을 위치를 바꾸어도 결과는 변수의 순서만 다를뿐 결과는 일치하는 값에 대해서만 출력해준다.

 

그리고 생각해보면 merge함수를 사용하는데 있어서 정렬되지 않았거나 혹은 동일한 순서로 나타나지 않았어도 자동으로 합쳐지는 것을 알 수가 있다. 보통 SAS에서 merge를 하기전에는 by에 들어갈 변수에 대해서 미리 sort(정렬)을 해줘야 하지만 R에서는 그런 작업이 필요가 없다.(SAS에서 sql구문과 비슷하다고 보면된다.)

 

www.sasbigdata.com

 

댓글