HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📩
캐글 데이터로 살펴보는 데이터분석 With Python and SAS
/
🕹️
5.3.2. proc
🕹️

5.3.2. proc

1. Proc2. print3. means(기초통계량) 3.1 By, Class4. contents5. sort5. freq6. univariate 문7. proc 문에서 조건지정

1. Proc

PROC(procedure, 절차) 명령어는 미리 정의된 명령어를 절차에 맞게 실행해주는 명령어 입니다. PROC 뒤에 사용할 SAS 기능명을 붙여서 사용할 수 있습니다.
출력 데이터에서 변수가 한글로 나와있는 경우는 보기가 컬럼 레이블로 되어 있는 경우이고, 실제 변수는 컬럼 이름(변수명)으로 되어 있습니다.

2. print

데이터 셋을 단순 출력할 수 있습니다.
proc print data=라이브러리명.데이터셋; var 변수명 변수명; run;
 
proc print data=mysas.subject_test1; var name subject; run;
 
var를 표기한 실행화면
var를 표기한 실행화면
 
var를 표기하지 않은 실행화면
var를 표기하지 않은 실행화면
var를 사용하여 실제 데이터에서 보고 싶은 데이터만 출력하여 볼 수 있습니다.
 

3. means(기초통계량)

연속형 숫자형 변수들에 대한 평균, 표준편차, 최댓값, 최솟값을 표시하는 방법입니다.
proc means data=라이브러리.데이터셋; var 변수명; /*통계량이 알고싶은 변수*/ by 변수명; /*변수별 정렬 통계*/ class 변수명; /*정렬할 필요 없고 변수별 통계*/ run;
 
명시하지 않을 경우 모든 수치에 대해 기초통계량을 구합니다.
proc means data=jeju.subject_test1; run;
 
notion image
 
proc means data=mysas.subject_test1; var score; run;
 
notion image
 

3.1 By, Class

기초통계량을 위한 새로운 Table 선언하기
data mysas.subject_score; input id name $9. one two three; datalines; 1 이호준 92 81 32 2 이호중 80 95 91 3 이길동 90 42 42 4 이준호 86 71 41 ; run; proc print data=mysas.subject_score; run;
 
notion image
 
class와 by 비교해보시길 바랍니다.
by
proc means data=mysas.subject_score; var one; by id; run;
 
notion image
 
class
proc means data=mysas.subject_test1; var score; class name; run;
 
notion image

4. contents

데이터셋에 관한 상세 정보를 보여줍니다. 보통 데이터를 가공하기 전에 변수들이 어떤 것이 있는지 확인할 경우 사용합니다.
 
proc contents data=라이브러리.데이터셋; run;
 
proc contents data= mysas.subject_test1; run;
 
jupyter notebook
jupyter notebook
sas studio
sas studio

5. sort

by에서 정해준 변수를 기준으로 정렬해줍니다.
proc sort data=라이브러리.데이터셋; by 변수; run;
 
PROC PRINT에서 그룹을 설정하는 BY구분은 오름차순 순서대로 정렬돼 있어야 합니다. 그렇지 않을 경우 에러가 발생합니다.
DESCENDING: 내림차순으로 정렬을 해줍니다.
 
proc sort data=라이브러리.데이터셋; by DESCENDING 변수; run;
 
proc sort data=mysas.subject_score; by DESCENDING id; run; proc print data=mysas.subject_score; run;
 

5. freq

freq 문 : 빈도 조회를 해줍니다.
  • 분할표를 그려준다.
  • 빈도,백분율,누적빈도,누적백분율을 보여준다.
table: 알고싶은 변수를 분석해줍니다.
 
proc freq data=라이브러리명.데이터; table 변수명; run;
 
proc freq data=jeju.subject_test1; table class_; run;
 
jupyter notebook
jupyter notebook
notion image
 
by: by 변수별로 따로 table 변수를 분석해줍니다.
proc freq data=라이브러리명.데이터; table 변수명 변수명 by run;
2차원 분할표
 
notion image
notion image
notion image
 
notion image
table 변수명*변수명로 표현하면 2차원 분할표가나옵니다.
 
proc freq data=mysas.subject_test1; tabel class_*subject; run;
 
notion image

6. univariate 문

Python(Pandas)에 describe 입니다.
평균, 중앙값, 표준편차, 최대값, 최소값, 사분위수, 백분위수 등에 대한 기초통계량을 나타냅니다.
알고 싶은 변수들의 통계량을 전부 출력해줍니다.
 
proc UNIVARIATE data=mysas.subject_test1; var score; run;
 
jupyter notebook
jupyter notebook
sas studio
sas studio
 

7. proc 문에서 조건지정

where 구문을 사용합니다.
proc print data=mysas.subject_test1; where score>=90; run;
 
 
notion image
 
notion image
 
🕹️
5.3.3. SAS의 SQL