본문 바로가기

merge4

[SAS] sas에서 left join시 join값(유니크값)이 두개이상 일치하는 경우 병합하는 방법 sas에서 left join시 join값(유니크값)이 두개이상 일치하는 경우 병합하는 방법에 대해서 알아보자. 간단히 설명하자면 데이터를 가로병합하는데 왼쪽 테이블 기준으로 하되 키값이 기존에는 하나였지만 키값이 2개가 일치하는 경우만 병합시키는 것이다. 그림을 통해 어떤 문제를 해결할 것인지 알아본다. test1 데이터셋과 test2 데이터셋을 test1데이터셋 기준(left join)으로 가로 병합을 하는데 k변수와 j변수가 둘다 일치하는 경우에만 가로병합을 실시하는 것이다. 그럼 결과는 맨 오른쪽 그림과 같이 check가 붙으면서 병합이 되어야한다. [코딩과정] [예제 데이터생성] data test1; input k$ j$; cards; A T A A C B H S ; run; data test2;.. 2014. 5. 30.
[SAS] sas에서 left join 왼쪽데이터셋 기준 가로병합하는 방법(교집합되는 부분가져오는 경우) sas에서 left join 왼쪽데이터셋 기준으로 가로병합하는 방법을 알아보자. 이경우는 공통된 교집합 부분을 포함하는 left join방법이다. 아래그림 참조 위의 그래프 그림과 같이 가로병합을 하되 hwi1(왼쪽데이터셋)기준으로 가로결합을 하며 공통된 부분은 같이 따라오게 하는 방법이다. 1. data step 먼저 sort과정을 거쳐 merge를 하는 data step에서 하는 방법을 알아보자. 가로 병합할 두개의 데이터셋의 키값(key)을 proc sort를 통해 정렬을 한다. 그리고 in이라는 데이터셋 옵션을 사용해서 if를 함께 이용해 in옵션에 임의의 변수명인 haha기준으로 merge를 하는 것이다. 아래 스크린샷 참조 2. proc sql 위와 같은 결과를 출력하는데 sort과정이 필요없.. 2014. 4. 29.
[SAS] sas merge 가로병합 끝장내기(full, left, right, inner join방법 소개) sas에서 데이터 핸들링을 하면서 데이터들을 붙이고 나누고 하는 작업들을 자주 하게 된다. 가장 많이 사용되는 것이 세로병합인 set 구문과 가로병합 merge인데 오늘은 merge 사용법에 대해서 알아보도록 하자. 사진을 보고 이해하면 아주 쉽게 이해 할 수 있을 것이다. 아래 사진에 m이라는 데이터셋과 m1이라는 데이터셋이 있는데 변수 key를 가지고 merge(가로병합)를 해보자. (아래사진참조) 1. 두 데이터를 조인시킬 변수를 proc sort를 통해 정렬한다. 예제에서는 key변수를 정렬한다.(아래사진참조) 2. full join merge 방법 (아래사진참조) 풀조인 말그대로 조건 없이 통째로 가로로 붙여버리는 거다. 3. left join merge 방법(아래사진참조) 한마디로 두개의 데이.. 2014. 3. 4.
[SAS] SAS를 이용해 두개의 데이터셋의 변수들이 일치하는 기준으로 merge해서 붙이기 SAS를 이용해 두개의 데이터셋의 변수들이 일치하는 기준으로 merge해서 붙이기 이게 무슨 말인가? 두개의 데이터셋이 있는데 변수들의 값이 일치하는 것끼리 붙여버리는 것입니다. 말로 설명하는데는 한계가 있으니 사진을 참고 하시기 바랍니다. ex1과 ex2라는 두개의 데이터 셋이 있습니다. 같은 변수도 있고 다른 변수들도 있는데~ key와 name이라는 변수들이 일치하는 기준으로 두개의 데이터셋을 하나로 합치는 것입니다. ex3을 보시면 제대로 붙었다는 것을 확인 할 수가 있습니다. sort와 merge는 자주 사용하는 것이니 잘 알아두시면 유용하게 쓰일거라 생각됩니다. 2013. 11. 15.