본문 바로가기
공부중/1 SAS

SAS 빈도분석 [PROC FREQ] -1

by E__E 2019. 12. 31.

통계분석 자료확인시 제일 먼저 시행하는 변수별 빈도 및 누적빈도의 확인.
자료점검 및 변수확인을 위해서 가장 단순하지만, 많이 이용하는 함수이다.
1차원, 2차원(교차테이블)까지 출력 가능.
(그 이상은 각 경우에 따라 테이블이 나눠져서 출력됨)

PROC FREQ DATA = 데이터셋; 
TABLES 변수/옵션(선택사항) ; 

RUN;

 

1. 옵션을 작성하지 않을 경우

 > 빈도, 백분율, 누적빈도, 누적백분율 4가지가 기본으로 출력된다.

PROC FREQ DATA=CAR_ACCIDENT;
TABLES TYPE ;

RUN;

 

PROC FREQ 결과

 

2. 옵션 추가 (원하는 옵션만 선택하여 작성)
<가장 많이 쓰는 옵션 5가지>
NOPERCENT : (CELL빈도/전체빈도) 프린트하지 않음.
NOROW: (CELL빈도/행빈도) 프린트 하지 않음. (2차원분석에서 사용)
NOCOL : (CELL빈도/열빈도) 프린트 하지 않음. (2차원분석에서 사용)

 NOFREQ : 실제빈도를 프린트 하지 않음. 
MISSING: 빈도계산에서 Missing(결측값)을 포함하여 계산.

 

(예시1) 

PROC FREQ DATA=CAR_ACCIDENT;
TABLES TYPE / NOPERCENT ;

RUN;

1차원 빈도표 /nopercent 결과


* 1차원 빈도결과에서는 옵션 추가유무가 크게 상관 없지만, 2차원 테이블의 경우에는 옵션을 사용하여 좀 더 깔끔한 결과를 출력할 수 있다. 

 

  예시2. 2차원 빈도표, 연도별(=YEAR) 사고유형(=TYPE)  

 

PROC FREQ DATA=CAR_ACCIDENT; 
TABLES TYPE * YEAR ; 

RUN;

연도별 사고유형 (2차원 TABLE) 결과

위와 같이 빈도와 각 행/열/전체 백분율이 모두 출력된다.

이때 확인하고자 하는 빈도 혹은 백분율만 옵션에서 지정하여 깔끔하게 출력할 수 있다. 

PROC FREQ DATA=CAR_ACCIDENT; 
TABLES TYPE*YEAR/ NOROW NOCOL NOPERCENT  ; 

RUN;

연도별 사고유형, 빈도만 출력

PROC FREQ DATA=CAR_ACCIDENT; 
TABLES TYPE*YEAR/ NOFREQ NOROW NOPERCENT  ; 

RUN;

연도별 사고유형, 연도별(열)의 백분율만 출력

 

*MISSING 옵션 = 결측빈도(비율) 확인에 편리

PROC FREQ DATA=CAR_ACCIDENT; 
TABLES NN / MISSING ; 

RUN;

MISSING 옵션 사용 전/후

자료의 NN변수에서 결측이 80% 임을 확인 할 수 있다. 

 

 

3. 관측치 순서대로 출력 (ORDER=FREQ 추가) 

PROC FREQ DATA=CAR_ACCIDENT ORDER=FREQ; 
TABLES TYPE /NOPERCENT ; 

RUN;

 

ORDER=FREQ 전/후, 빈도순으로 출력된다.

 

* 자료출처: 도로교통공단_교통사고 정보 (공공데이터포털) 

'공부중 > 1 SAS' 카테고리의 다른 글

SAS [PROC CONTENTS] - 데이터셋 변수확인하기  (0) 2020.01.12
SAS 빈도분석 [PROC FREQ] -2  (0) 2020.01.09
SAS 탐색기 옵션  (0) 2019.10.01
SAS 문자추출 [SUBSTR]  (0) 2018.12.22
1. SAS 확장편집기 옵션설정  (0) 2018.12.10