드디어 6장 !! SAS 데이터 셋의 결합 및 관리 !!
1. 세로 결합 / 가로 결합
2. 데이터셋 옵션의 사용
3. DO - END 명령문
4. 자동변수
5. 외부파일로 데이터 출력하기
6. 데이터 내보내기 마법사
# 데이터 셋 결합 : 세로 결합 & 가로 결합
@@ 세로 결합
: 두 데이터 셋을 수직적으로 결합 . 변수 기준으로 합친다
: 세로로 붙여서 밑으로 길어짐
방법은 set, drop, keep 명령문들을 써서 합쳐준다.
+) 복사하는 법 : set 데이터 셋
+) 변수 부분 선택하는 법 : drop 변수명 / keep 변수명
+) 연결 : set 데이터 셋1 데이터셋2 ; set에 여러 개 넣어주기

@@ 가로 결합 : MERGE 명령문, UPDATE 명령문 + PROC SORT
: 두 데이터 셋을 수평적으로 결합 . 관측값 기준으로 합친다
: 가로로 붙여서 옆으로 길어짐
-UPDATE 문을 사용해서 뒤의 결측값을 다른 값으로 대체시키지 않고 기존 자료 값을 유지한다.
-PROC SORT 로 DATA STEP전에 어떤 걸 기준으로 결합할 지 기준 변수를 정해(오름차순으로)
PROC SORT DATA = 데이터셋 이름; BY 변수명;RUN;
모든 데이터 셋이 PROC SORT 를 이용하여 사전에 정렬되어있어야 한다. BY명령문을 적용하지 않으면 오류 뜰 수도
proc sort 는 항상 by 변수 랑 함께 사용된다.





merge ---- by ---- 하고
if mid 했으면 mid 가 새로운 변수로 all3 데이터셋에 꽉차게 나옴






# 명령 반복문 : DO - END 명령문
- DO 와 END 사이에 들어있는 명령문을 반복 수행한다.
EX) DO i 1 to 100 by 5; sum=sum+i ; end output;
-sum 값 나열할거면 맨 앞에 retain sum 0; 지정해주기


# 반복처리문 (DO-LOOP)
@@DO-END문
- DO i 1 to 100 by 5; sum=sum+i ; end output;
- DO 값 리스트 설정도 가능 !! DO month ='jan','feb','mar';
DO odd=1,3,5,9 / do i = var1, var2, ,,
[ex1]



[ex2]

[ex3]

@@DO-UNTIL
- 조건식이 참이 될 때까지 DO END 사이의 명령문을 계속 실행
-조건식이 참이 되면 그제서야 중지함

@@DO-WHILE
- 조건식이 참인 것만 골라서 실행함
-

# 난수발생

@@자동변수
- 작업에 필요한 정보를 임시로 저장하는 곳.
-라이브러리에 저장되진 않지만 실행만 시킴.
- _N_ , _ERROR_
- FIRST.변수 와 LAST.변수 => PROC SORT ~~ BY문 으로 정렬
[ _n_ 예시]

[ _n_ / _ERROR_예시]


[first.변수명, last.변수명 예시]


@@외부파일로 데이터 출력하기
SET - PUT 문
PUT 명령문을 이용하여 SAS OUTPUT에 출력돼




'데이터 스터디 > SAS' 카테고리의 다른 글
SAS - 데이터 요약 및 표현 (PROC FREQ, BOXPLOT) (0) | 2023.03.22 |
---|---|
SAS - 데이터 요약과 표현 (PROC PRINT, MEANS, UNIVARIATE) (0) | 2023.03.22 |
SAS - 명령문 (if 조건문,retain, array) (0) | 2023.03.22 |
SAS - 구분자(dlm, dsd) , 할당문, 날짜함수 (0) | 2023.03.22 |
SAS - 변수 속성 할당 (0) | 2023.03.22 |