BookmarkSubscribeRSS Feed

[SAS] PROC UNIVARIATE

Started Tuesday by
Modified Tuesday by
Views 66

PROC UNIVARIATE

SAS에서 PROC UNIVARIATE를 통해서 기초 통계량을 확인할 수 있습니다.

■ 예제 1)

 

data class_data;
    input name $ gender $ age course major $;
    datalines;
Janny M 58 101 STAT
Amy F 28 101 HIST
Liz F 27 301 STAT
Jhon M 68 301 ENGG
Peter M 54 201 STAT
James M 35 101 HIST
Thomas M 34 301 ENGG
Pat F 23 201 STAT
Liz F 45 101 HIST
Tom M 56 301 ENGG
;
run;

 

위 데이터는 class_data라는 데이터셋으로 name, gender, age, course, major 로 수강생 10명의 정보로 구성되어 있습니다.

변수명 뒤의 $ 를 붙혀 변수가 문자형임을 표시합니다. $ 표시가 없으면 데이터는 기본적으로 데이터를 숫자로 읽습니다.

 

 

proc univariate data=class_data;
var age course;
run;

 

변수를 분석하기 위해 var 문에 분석할 변수를 설정했습니다.

var 문 뒤에 변수를 입력해서 2개 이상의 변수를 동시에 분석할 수도 있습니다.

 

 

image.png

 

image.png

 

 

 

age 변수에 대한 기초 통계량을 출력합니다.

  • 기초통계량: 관측치 수(N), 평균, 중앙값, 표준편차, 최솟값, 최댓값

  • 관측값 합: age 변수의 합계

  • Varience: 표준편차의 제곱

  • Skewness: 0.176 (대칭에 가까운 분포)

  • Kurtosis: -1.367 (납작한 분포)

  • CV: 35.7 (변동계수 - 평균 대비 산포 크기)

■ 예제 2)

 

 

proc univariate data=class_data normal plot;
    var age;
    histogram age / normal;   
    qqplot   age / normal;   
    inset mean std median / format=6.2;  
run;
 

PROC UNIVARIATE 에서 활용할 수 있는 다양한 옵션이 있습니다.

대표적으로 'normal', 'plot' - 2가지 옵션을 자주 사용합니다.

  • normal: 데이터가 정규분포를 따르는지 검증합니다. (정규성 검정 결과가 출력)

  • plot: 히스토그램, 박스플롯 등 기본적인 그래프가 출력합니다.

 

 

 histogram age / normal;   

image.png

 

 

age 변수의 히스토그램 그래프를 생성합니다.

그 위에 정규분포 곡선(noral)을 같이 출력합니다.

 

 

 

 

qqplot age / normal;

image.png

 

image.png

 

 

 

데이터의 분위수를 정규분포와 비교하는 QQ plot 을 통해 대각선 위에 점들이 가깝게 분포하면 정규분포를 따르고 크게 벗어나면 정규분포가 아니라고 평가할 수 있습니다.

 

 

 

 inset mean std median / format=6.2; 

 주요 통계량 - mean(평균), std(표준편차), median(중앙값)을 출력하고, FORMAT 문을 통해서 전체 6자리 소수점 2자리로 표시합니다.

Contributors
Version history
Last update:
Tuesday
Updated by:

Catch up on SAS Innovate 2026

Dive into keynotes, announcements and breakthroughs on demand.

Explore Now →
Article Labels
Article Tags