BookmarkSubscribeRSS Feed

[기초부터 배우는 SAS Programing] 10. 데이터결합(MERGE)

Started ‎06-15-2020 by
Modified ‎06-15-2020 by
Views 657

기초부터(8).png

 

 

데이터 결합 - 가로결합(MERGE)

 

  수평적으로 데이터를 결합 

 

DATA SAS-data-set;

   MERGE SAS-data-set;

   BY by-variable(s);

RUN;

 

※ BY문장을 사용하기 때문에 반드시 각 데이터를 정렬한 후 결합해야 합니다.

 

1. 두 테이블의 BY-variable이 모두 같을 경우

DATA1 : Weight

10-weight1.png

DATA2 : Height

10-height(1).png

 

 

1.PNG

 

 

2. 두 테이블의 BY-variable이 같지 않은 경우 

 

① 그대로 결합

DATA1 : Weight ( ID=101 없음)

10-weight.png

DATA2 : Height

10-height.png

2.PNG

-> 첫 번째와 두 번째의 예에서 보시다시피 MERGE는 일종의 합집합과 같은 개념입니다. (아무런 옵션이 없을 경우)

 

 

② Data Set Option - IN

SAS-data-set(IN=variable)

-> 이 때 변수는 PDV상에서만 존재하는 임시변수로, 가질 수 있는 값은 0과1입니다. (숫자타입)

     0 : 현재 관측치(data step실행과정시 현재 읽고 있는 데이터)가 data set에 없는 경우

     1 : 현재 관측치가 data set에 있는 경우

 

3.PNG

( DATA1과 2는 위와 동일)

PDV

 

ID

Age

Sex

Height

Weight

inhgt

inwgt1

100

18

F

158

49

1

1

101

19

M

172

 

1

0

102

17

F

167

52.5

1

1

103

19

F

160

51.3

1

1

104

18

M

181

78

1

1

105

18

M

177

78.6

1

1

 

 

** 교집합 부분만 얻고 싶을 경우

merge A(in=aa)

             B(in=bb);

by id;

if aa=1 and bb=1; <- data set A에도 존재하고 B에도 존재 = 교집합 

run;

 

 

Version history
Last update:
‎06-15-2020 05:12 AM
Updated by:
Contributors

sas-innovate-white.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.

 

Early bird rate extended! Save $200 when you sign up by March 31.

Register now!

Article Labels
Article Tags