▶ update, merge
데이터 결합을 위해서 보통은 merge나 set을 이용하는데요.
여기서는 update와 merge의 차이점을 보기로 하죠~~
data a1;
input code1 x y @@;
cards;
11 1 2 21 4 3 51 2 5 41 3 7
;
run;
data a2;
input code1 y z @@;
cards;
11 1 111 21 . 222 31 3 333 41 4 777 71 7 777
;
run;
두 데이터를 결합하기 위해서는 결합하고자하는 key로 정렬한다.(a2의 경우 정렬되어 있으므로 a1만 정렬)
proc sort data=a1; by code1; run;
두 데이터의 결합
왼쪽 데이터(a1a2)는 update로 결합한 결과이며 오른쪽 데이터(a1a2_1)는 merge로 결합한 결과이다.
결과값을 비교해보면 update의 경우 결측치에 대한 값과 새로 추가된 개체에 대한 값만 추가되었음을 볼 수 있고
merge의 경우는 a2의 y변수 값으로 덮어쓰여진 결과를 보인다.
data a1a2; update a1 a2; by code1; run;
data a1a2_1; merge a1 a2; by code1; run;
data a1;
input code1 x y @@;
cards;
11 1 2 21 4 3 51 2 5 41 3 7
;
run;
data a2;
input code1 y z @@;
cards;
11 1 111 21 . 222 31 3 333 41 4 777 71 7 777
;
run;
proc sort data=a1; by code1; run;
data a1a2; update a1 a2; by code1; run;
data a1a2_1; merge a1 a2; by code1; run;
출처: http://blog.naver.com/hur_yoon/
'IT > SQL' 카테고리의 다른 글
[SAS] Format 문 / Informat 문 (0) | 2017.03.23 |
---|---|
[SAS] do ~ end, stop 명령문 (0) | 2017.03.23 |
[SAS] If ~ then / else (0) | 2017.03.23 |
1. SAS EG 시작하기 - 데이터를 SAS 데이터셋으로 가져오기 (0) | 2016.12.20 |
Mysql 기본과정을 배울 수 있는 자료/사이트 (0) | 2016.10.31 |
Mysql,오라클 기본 입문과정 (0) | 2016.10.31 |
Join의 종류 (0) | 2016.10.24 |