본문 바로가기

SAS

6-3강 - 자료의 정리 및 요약 3 (FREQ)

5. FREQ

0) 소개 

수치 변수가 아닐 때 셀 때 자주 사용한다.

1> 도수분포표 및 분할표 제공
2> 이차원분할표의 경우에는 연관성의 측도를 제공

 

1) 문법

1> 기본 문법

- PROC FREQ <option-list> :

2> 그 외
- OUTPUT <OUT=SASdataset > <output-statistic-list> : 결과를 저장할 data set의 이름과 통계량 명시 */
- TABLE requests / options : (TABLE을 그린다.) requests에 의해 출력될 도수분포표나 분할표 지정 */
- WEIGHT var : 도수로 사용될 변수명 지정

※ WEIGHT는 아래 예시로 어떤 차이가 있는지 비교한다.


3> PROC FREQ  에 쓸 수 있는 options-list
- DATA = SAS-data-set : 분석하고자 하는 데이터 세트 명시 
- NOPRINT : OUTPUT 데이터 세트만이 목적일 경우 

- ORDER=data : (교차 표는 원래 알파벳 순서로 나오는데) 그냥 data 읽어들인 순서대로 교차 표가 나오게 한다.
4> TABLES requests / options 쓸 수 있는 사항
- ․requests 에는 원하는 표의 형태를 명시할 수 있다.
- ․options 에는 아래와 같은 것들을 쓸 수 있다.

 

- TABLE을 하면 default로 실행되는 것들이 NOCOL, NOCUM, NOFREQ, NOPERCENT, NOROW로 실행이 안 된다.

(위 5개는 사용하지 않으면 TABLE에서 default로 실행된다.)

 

 2) 예제

1> 예시 1

정리가 안 된 data => WEIGHT를 쓰지 않는다.

- ORDER=data : 그냥 data 읽어들인 순서대로 교차 표가 나오게 한다.

=> 그래서 결과 보면 M이 F보다 먼저, Stat가 Math보다 먼저 나온다.

- tables dept gender dept*gender :

  • 1> dept에 대해서만 2> gender에 대해서만 3> dept를 y축, gender를 x축으로 TABLE 만들기
  • 기본적으로 빈도, 백분율, 누적 빈도, 누적 백분율을 출력

- tables dept* gender/ norow nopercent : 

  • NOROW를 써서 행 백분율이 나오지 않았다.
  • NOPERCENT를 써서 백분율이 나오지 않았다.

2> 예시 2 (정리가 되어서 나오면?)

아까 dataset은 각 data별로 한 명 한 명의 정보를 받았다면 

이번 dataset 어떤 특성을 가진 사람이 몇 명인지 정리가 된 data이다.

=> 이 data를 WEIGHT 없이 FREQ를 실행하면 도수가 다 1로 나오는 문제가 생긴다.

=> 우리는 count라는 변수를 기준으로 세야 한다. (count 만큼의 가중치를 부여한다.)

=> count를 age와 drink 변수에 각각 집어넣는다.

- order=data를 안 쓰니까 알파벳 순서대로 교차 표가 나온다.

 

※ 이번 dataset 어떤 특성을 가진 사람이 몇 명인지 정리가 된 data이다. (정리가 되어있다.)

=> 이 data를 WEIGHT 없이 FREQ를 실행하면 도수가 다 1로 나오는 문제가 생긴다.

=> 우리는 count라는 변수를 기준으로 세야 한다. (count 만큼의 가중치를 부여한다.)

=> count를 age와 drink 변수에 각각 집어넣는다.