5-2강 - SAS 기본 procedure 2 (PRINT, RANK)
3. PRINT
0) 소개
dataset 만들고 그냥 RUN하면 아무것도 나오지 않는다.
그래서 SAS dataset 내의 일부 혹은 전체 변수의 값을 출력하기 위해 사용
1) 문법
1> 기본 문법
- PROC PRINT <option-list> :
2> option-list
- NOOBS : 관측치의 번호를 쓰지 않음 (no obs / obs = 일련번호)
- LABEL : label이 있으면 (input에 있는 걸 label에 넣어서) label을 이용하여 출력
- VAR variable-list : 출력하고자 하는 변수명을 지정 (변수가 너무 많아서 원하는 변수만 출력하고 싶을 때 사용)
- ID variable-list : 관측값 구별을 위한 변수 지정
- BY variable-list : BY 변수의 수준별로 결과 출력
3> option-list 기존에 배운 것
- PROC PRINT DATA = SAS data-set : 어떤 data set을 출력할지 명시 (default는 맨 마지막에 선언된 dataset)
2) 예제
1> 기존 규칙
- BY를 사용하려면 SORT되어있어야 한다.
2> 배우지 않은 새로운 규칙
- TITLE '제목' : 출력 화면 맨 위에 제목을 달아준다.
- FOOTNOTE '내용' : 맨 밑에 쓰고 싶은 글 (끝에 쓴다고 해서 말그대로 FOOTNOTE)
※ 프로그램이 실행 중이면 제거하지 않는 한 남아서 계속 따라다닌다.
(없애려면 다음 출력에서 'TITLE : ' 'FOOTNOTE : ' 이런 식으로 빈칸으로 비워둔다.)
3> 이번에 배운 내용
- VAR ID WEIGHT HEIGHT : id, weight, height 변수들만 출력한다.
- BY AGE : age에 의해서 (이전에 SORT 해놓아서 BY 바로 사용 가능)
- ID GENDER : 원래 index로 숫자(1, 2, 3, ...)가 붙는데 대신에 GENDER(F, M, M, ...)가 붙는다.
- LABEL GENDER = '성별' AGE = '나이' WEIGHT = '몸무게' ...
: 해당 variable 대신에 작은 따옴표 안에 들어간 것으로 대체해서 쓰인다.
(하지만 위의 예시는 출력 화면에서 변하지 않았다. 변하게 하려면 해당 셀에서
PROC PRINT DATA = S_HEALTH -> PROC PRINT label DATA = S_HEALTH로 변경해야 한다.)
4. RANK
0) 소개
SORT와는 조금 다르다. (SORT는 재배열하는 것이다.)
RANK는 말 그대로 순위를 매긴다. (새로운 변수를 하나 만들고 rank를 표기한다.)
1) 문법
1> 기본 문법
- PROC RANK <option-list> :
2> option-list
- WHERE variable = ‘값’ : 변수 중에서도 특정 값을 가지는 data에만 RANK 적용
- VAR variable-list : RANK 적용하고자 하는 변수명을 지정
- RANKS variable-list : 이 새로운 변수를 만들어서 RANK를 기록한다. (반드시 써줘야 하는 옵션)
- TIES = LOW/HIGH : 동일 RANK일 경우 순위를 결정하는 방법 (동점자의 순위를 위에서부터 셀지 아래부터 셀지)
(TIES 안 쓰면 순위가 소수점으로 메겨질 수 있다)
3> option-list 기존에 배운 것
- DATA = SAS-data-set : RANK 적용할 data 설정
- OUT SAS-data-set : 저장할 data 설정 (덮어쓰지 않을 수 있다.)
- descending : default가 오름차순이며 내림차순으로 정렬할 수 있다.