SAS연습200제/SAS설치와실습
Q_01_08. Base SAS 에는 어떤 프로시져(PROC문)가 있는가?
sas
2025. 3. 15. 14:24
다음은 SAS제품 중에서 가장 기본적인 SAS/BASE에서 제공하는 프로시져를 나타내고 있습니다. 여기에 나와 있는 프로시져들은 단지 “PROC MEANS”와 같이 “PROC” 뒤에 프로시져 이름만 붙이기만 하면 됩니다. 물론 각 프로시져의 기능을 알아야 어떤 프로시져를 사용할 것인지를 결정할 수 있습니다. 이들 중에는 여러분들이 이미 익숙한 프로시져들도 있을 것이고 생소한 것들도 있을 것입니다.
(1) SAS BASE에서 제공하는 프로시저
PROC기능
APPEND | 데이터셋을 아래위로 합친다. (SET문 사용과 일치) |
CALENDAR | 데이터를 달력형태로 프린트합니다. |
CATALOG | SAS의 카탈로그(내에 있는 엔트리)를 다루는 데 사용합니다. |
COMPARE | 두 개의 데이터군을 비교하여 서로 다른 점을 프린트합니다. |
CONTENTS | SAS 시스템 파일의 구조를 보고자 할 때 사용합니다. |
CORR | 각 변수들의 상관계수를 구합니다. |
DATASETS | SAS 데이터셋을 다루는 사용되는데 작업 중 SAS셋을 삭제 가능합니다. |
EXPORT | SAS 데이터셋을 엑셀 등 외부 데이터로 만듭니다. |
FORMAT | 데이터를 출력하는 출력 포맷을 지정할 때 사용합니다. |
FREQ | 빈도와 구성비, 누적도수와 누적 구성비를 구합니다. |
IMPORT | 엑셀 등 외부 데이터를 읽어 SAS 데이터셋으로 만듭니다. |
MEANS | 기술 통계량(Descriptive Statistics)을 구합니다. |
PLOT | 두 변수의 2차원 그래프를 그립니다. |
자료를 프린트합니다. | |
RANK | 자료의 크기순으로 순서를 매기는 경우 사용합니다. |
SORT | 자료를 크기순으로 정렬(오름차순, 내림차순)합니다. |
STANDARD | 데이터를 표준화합니다. |
SUMMARY | 기술 통계량(Descriptive Statistics)을 구합니다. |
TABULATE | 기술 통계량(Descriptive Statistics)을 구합니다. |
TRANSPOSE | 자료의 행과 열을 전치(TRANSPOSE)합니다. |
UNIVARIATE | 기술 통계량(Descriptive Statistics)을 구합니다. |
이외에도 CIMPORT, COPY, CPORT, DBCSTAB, DISPLAY, EXPLODE, FORMS, MDDB, OPTIONS, OPTLOAD, OPTSAVE, PMENU, PRINTTO, PRTDEF, REGISTRY, REPORT, SQL, TIMEPLOT, TRANTAB 등 많은 프로시져들이 있습니다. 이들에 세부적인 기능에 대해서는 도움말 기능을 이용하면 됩니다.
(2) SAS BASE의 예제
다음은 남녀별 키와 몸무게의 자료 6개를 프린트하고 평균값을 구하는 간단한 프로그램입니다. 여기서는 변수 6개로 구성된 6개의 데이터인 경우를 예를 들었지만 변수가 100개 이고, 데이터 수가 10만개 이상인 경우에도 프로그램에도 이와 꼭 같은 형태입니다.
/*----------------------------------------------------*/
/* 프린트하고 평균값을 구하는 SAS프로그램 */
/*----------------------------------------------------*/
1 DATA a1;
2 INPUT id $ gender $ wei hei age join $10.;
3 CARDS;
4 A001 F 65 171 23 2012-01-23
5 A003 F 66 172 24 2012-02-29
6 A002 M 68 177 40 2004-04-31
7 B003 F 69 176 38 2003-01-23
8 B001 M 67 173 43 2003-05-05
9 B002 M 72 178 42 2004-06-24
10 RUN;
11 PROC PRINT;
12 PROC MEANS;
13 RUN;
[결과]
PROC PRINT; 의 결과
PROC MEANS; 의 결과
[설명]
Copy1 DATA a1;
2 INPUT gender $ wei hei age join $10. 변수명을 INPUT문 뒤에 적어주면 됩니다. 이 변수명으로 구성된
SAS 데이터셋 a1을 만들게 됩니다. 만약 100 개의 변수인 경우에는 INPUT x1-x100 이라고 하면 됩니다.
4-9 데이터가 들어가는 부분으로 수만 건의 데이터인 경우에는 여기에 추가하면 됩니다. 물론 이 데이터들이
외부파일로 저장되어 있는 경우에는 INFILE '파일이름‘의 형태로 쉽게 불러올 수 있습니다.
11 PROC PRINT;
SAS 데이터셋 a1의 내용을 프린트하는 프로시져입니다.
12 PROC MEANS;
평균값을 구하는 프로시져입니다. 변수가 gender, wei, wei, age join 다섯 개의 변수 중에서 gender와
join 은 문자형 변수이므로 제외하고 숫자형 변수 wei, hei, age 의 평균값을 구합니다.
이렇게 하고자 업무에 맞는 프로시져만을 적어주기만 하면 됩니다.