1. PROC FREQ 기본 구조
proc freq 명령어는 데이터 테이블의 빈도를 조회하는 명령어입니다. 기본 구조는 아래와 같습니다.
우선, TABLES에 변수를 늘려가며 테이블의 형태를 살펴본 다음, OPTION 항목을 다루도록 하겠습니다.
PROC FREQ DATA=dataset <options>;
TABLES variable(s) / <options>;
RUN;
1) TABLES 변수1
TABLES 다음에 변수를 입력하면 변수의 빈도, 백분율, 누적 빈도, 누적 백분율을 조회할 수 있습니다.
// 변수 1개
PROC FREQ DATA=SASHELP.HEART;
TABLES Smoking_Status; //TABLES 변수명
RUN;
2) TABLES 변수1 변수2
변수에 대한 테이블이 각각 출력됩니다. 기본적으로 1개 변수 테이블 형태를 갖추고 있습니다.
// 2개 이상의 변수를 나란히 쓸 경우 각각의 테이블 출력
PROC FREQ DATA=SASHELP.HEART;
TABLES Status Smoking_Status;
RUN;
3) TABLES 변수1*변수2
2개 이상의 변수를 *로 연결하면 두 변수가 각각 행*열로 교차된 테이블을 얻을 수 있습니다.
PROC FREQ DATA=SASHELP.HEART;
TABLES Smoking_Status*Status;
RUN;
[결과 해석]
Smoking_Status의 Heavy (16-25)행과 Status의 Alive 열이 교차하는 왼쪽 첫 번째 칸으로 결과를 해석해봅시다.
- 빈도 : Heavy 이면서 Alive인 빈도
- 백분율 : 전체 관측수 중에서 Heavy&Alive인 비율 =603/5173
- 행 백분율 : Smoking_Status가 Heavy인 데이터 중에서 Status가 Alive인 비율 = 603/1046
- 칼럼 백분율 : Status가 Alive인 데이터 중에서 Smoking_Status가 Heavy인 비율 = 603/3202
2. PROC FREQ 옵션
1) NLEVELS
PROC FREQ DATA=SASHELP.HEART NLEVELS;
TABLES Status Smoking_Status;
RUN;
첫 번째 테이블은 변수의 레벨을 알려줍니다.
Status 변수는 Alive와 Dead 2개의 레벨을 갖고 있고 결측치는 없습니다.
반면 Smoking_Status는 Heavy부터 Very Heavy까지 총 5개의 레벨이 있고 결측치를 포함하여 총 6개의 레벨이 있습니다.
만약 TABLES 변수명..; 코드를 지우고 PROC FREQ DATA=SASHELP.HEART;RUN; 만 입력하면 모든 변수에 대한 레벨 및 테이블이 출력됩니다.
2) MISSING
//MISSING
PROC FREQ DATA=SASHELP.HEART;
TABLES Smoking_Status/MISSING;
RUN;
//MISSPRINT
PROC FREQ DATA=SASHELP.HEART;
TABLES Smoking_Status/MISSPRINT;
RUN;
앞에서 Smoking_Status 변수는 결측치를 포함한다는 것을 발견했습니다.
MISSING 옵션은 누락된 범주를 관측된 범주인 것처럼 처리하여 결측 값을 빈도표에 행으로 포함합니다.
반면 MISSPRINT는 MISSING과 마찬가지로 누락된 범주를 관측된 범주인 것처럼 처리하되 빈도표에서 빈도만 표시합니다.
3) PLOTS=FREQPLOT
빈도표와 함께 BAR PLOT이 출력됩니다.
PROC FREQ DATA=SASHELP.HEART;
TABLES Smoking_Status/PLOTS=FREQPLOT;
RUN;
4) ORDER
빈도표 행을 어떤 순으로 정렬할지 선택하는 옵션입니다. ORDER=freq라고 설정하면 빈도순으로 레벨을 정렬합니다.
반면 ORDER=data라고 설정하면 빈도 테이블의 행을 데이터 집합에 나타나는 순서대로 정렬합니다.
PROC FREQ DATA=SASHELP.HEART ORDER=freq;
TABLES Smoking_Status;
RUN;
'Data_Analysis > SAS' 카테고리의 다른 글
[SAS] RETAIN (0) | 2021.04.19 |
---|---|
[SAS] 반복문 활용 (1) | 2021.02.27 |
[SAS] PROC TABULATE (0) | 2021.01.28 |
[SAS] 범주형 자료분석 (2) | 2021.01.07 |
[SAS] 기술통계량 산출 및 정규성 검정 (0) | 2021.01.04 |
댓글