반응형
목적
오늘은 SAS 프로그램을 이용하여 자료의 결합에 대해 알아보자. Sample data는 적당히 만들어 이용할 것이다. SAS 프로그램에서 결합의 종류는 크게 세로 결합과 가로 결합이 있는데,
1. 세로 결합 (Set)
- 두개 이상의 데이터셋들을 위 또는 아래로 붙이는 결합
- data step 내에서 set문을 이용
- set 데이터셋1 데이터셋2 ... 데이터셋n
- 먼저 작성하는 순서대로 데이터셋1이 가장 위, 데이터셋n이 가장 아래에 붙는다.
- 붙일 변수는 동일하게 만든다.
먼제 예제 데이터셋 a, b를 만들고
data a; input num; datalines; 1 2 3 ; run; data b; input num; datalines; 4 5 6 ; run; |
세로 결합을 해보면
data c; set a b; run; |
만약 데이터셋들의 변수가 다르다면 아래와 같이 붙으니 조심할 것
반응형
2. 세로 결합 (Proc append)
세로 결합은 append 프로시저를 이용해도 가능하다.
proc append base=a data=b; run; |
주의할 점은 결합 결과 새로운 데이터셋이 생기는 것이 아니고, base 데이터셋에 직접 결합하는 방식이다.
결과는 a 데이터셋에 b 데이터셋이 세로 결합 된다.
만약 데이터셋 들의 base 데이터셋에 있는 변수가 세로 결합할 데이터셋에는 없다면 force 옵션을 이용하자.
먼저 예제 데이터셋을 만들고
data a; input num score; datalines; 1 100 2 64 3 50 ; run; data b; input num; datalines; 4 5 6 ; run; |
세로 결합을 해보면
proc append base=a data=b force; run; |
반대로 base 데이터셋에 없는 변수가 세로 결합할 데이터셋에는 있다면 force 옵션을 사용하더라도 해당 변수는 붙지 않을 테니 조심하자.
proc append base=b data=a force; run; |
score 변수는 세로 결합되지 않았다는 것을 알 수 있다.
반응형
'끄적이는 프로그래밍 > SAS 프로그래밍' 카테고리의 다른 글
SAS를 이용한 매크로 카탈로그 (Macro Catalog) 구성 (0) | 2022.09.05 |
---|---|
SAS programming 기초 (자료의 결합 - 가로 결합) (0) | 2022.08.31 |
SAS programming 기초 (제어문, IF, Do loop, Select when) (0) | 2022.08.28 |
SAS programming 기초 (Dataset 만들기, 외부데이터 불러오기, proc import, infile 문) (2) | 2022.08.27 |
Mock-up shells(TFLs) 와 통계분석 결과 결합하기 (SAR) (0) | 2022.08.16 |