제 1 장 SAS 사용법 - stat.snu.ac.krstat.snu.ac.kr/time/download/SAS사용법노트.pdf · SAS...

15
제 1 장 SAS 사용법 1.1 SAS 시스템 SAS : Statistical Analysis System Strategic Application System SAS의 주요 소프트웨어 Base SAS : SAS 의 가장 기본적인 소프트웨어 SAS/STAT : 통계자료분석 소프트웨어 SAS Enterprise Guide (EG) 메뉴를 이용한 통계자료 분석 SAS 9.3에서는 분석(Analyst)창의 데이터 분석이 없어짐 메뉴를 이용한 통계분석은 SAS Enterprise Guide (SEGuide, EG)를 주로 사용할 예정 바로가기 아이콘 만들기 1) SAS C:\ Program Files\ SASHome\ x86\ SASFoundation\ 9.3\ 폴더에 있는 SAS 아이콘( )에서 오른쪽 마우스 버튼을 클릭하여 SAS 바로가기를 만들어 바탕화면으로 옮김. 2) EG C:\ Program Files\ SASHome\ x86\ SASEnterpriseGuide\ 4.3(또는 5.1)\ 폴더에 있는 SEGuide 아이콘( )에서 오른쪽 마우스 버튼을 클릭하여 SEGuide 바로가기’를 만들어 바탕화면으로 옮김. 1.2 SAS 시작하기 1.2.1 SAS와 EG의 초기 화면

Transcript of 제 1 장 SAS 사용법 - stat.snu.ac.krstat.snu.ac.kr/time/download/SAS사용법노트.pdf · SAS...

- 1 -

제 1 장 SAS 사용법

1.1 SAS 시스템

SAS : Statistical Analysis System

Strategic Application System

SAS의 주요 소프트웨어

Base SAS : SAS 의 가장 기본적인 소프트웨어

SAS/STAT : 통계자료분석 소프트웨어

SAS Enterprise Guide (EG)

메뉴를 이용한 통계자료 분석

SAS 9.3에서는 분석(Analyst)창의 데이터 분석이 없어짐

메뉴를 이용한 통계분석은

SAS Enterprise Guide (SEGuide, EG)를 주로 사용할 예정

바로가기 아이콘 만들기

1) SAS

C:\ Program Files\ SASHome\ x86\ SASFoundation\ 9.3\ 폴더에 있는

SAS 아이콘( )에서 오른쪽 마우스 버튼을 클릭하여

SAS 바로가기’를 만들어 바탕화면으로 옮김.

2) EG

C:\ Program Files\ SASHome\ x86\ SASEnterpriseGuide\ 4.3(또는 5.1)\ 폴더에 있는

SEGuide 아이콘( )에서 오른쪽 마우스 버튼을 클릭하여

SEGuide 바로가기’를 만들어 바탕화면으로 옮김.

1.2 SAS 시작하기

1.2.1 SAS와 EG의 초기 화면

- 2 -

확장편집기에 HTWT1이란 SAS 프로그램이 열린 모양

EG에서 class란 SAS 자료가 열린 모양

1.2.2 SAS에서 창의 관리

SAS에서 기본이 되는 창(window) :

탐색기, 결과, 편집기(Editor), 로그(Log), Result Viewer 등

- 3 -

(1) 탐색기(Explorer) 창

라이브러리, 테이블(또는 data set), 카탈로그, 파일 등을 관리

보기 → 트리 보기 : 트리 모양의 파일 폴더

(2) 결과(Results) 창

‘탐색기’ 창과 ‘결과’ 창은 탭 클릭으로 교대로 나타남

출력 결과의 목록 - 더블 클릭에 의해 해당되는 창으로 이동

(3) 확장편집기(Enhanced Editor) 창

확장편집기는 칼라와 코드구역을 사용하여 프로그램을 작성 및 편집

저장된 SAS 프로그램 파일을 열 수도 있고, 프로그램을 실행(Run)

(4) 로그(Log) 창

프로그램 내용의 검토결과 출력

오류가 있을 때는 원인 출력

각 절차들의 실행 소요 시간 등이 출력됨.

(5) Results Viewer 창

SAS 프로그램의 실행 결과가 출력됨

1.2.3 EG에서 창의 관리

EG : 메뉴를 이용한 통계자료 분석

자료 열기 : 열기 아이콘( ) 또는 파일 → 열기 메뉴에서 데이터를 선택

통계자료분석 예 : 작업 → 기술 → 요약통계량

EG에서 작업 메뉴

- 4 -

요약통계량 옵션 선택 창

요약통계량의 결과 창

1.3 자료 가져오기

EG와 SAS에서는 모든 데이터 파일을 SAS 자료로 바꾸어 실행

따라서 자료들을 SAS 데이터 파일로 바꾸어 저장해 놓고 사용

1.3.1 EG에서 자료 열기

(1) SAS 자료 열기

예 : SAS 라이브러리의 SASHELP 폴더에 있는 CLASS 자료 열기

열기 아이콘을 클릭하고 이어서 데이터 메뉴를 클릭

SAS 라이브러리를 찾기 위해서는 다음을 차례로 선택

서버 → 로컬 → 라이브러리

SASHELP 폴더를 열고 CLASS를 선택

SASHELP에 있는 CLASS 자료

- 5 -

(2) 외부 자료 가져오기

예 : dataset 폴더에 엑셀로 저장되어 있는 class.xlsx 자료를 가져오기

1.‘열기’ 아이콘 클릭 - 데이터 클릭

2. 데이터 열기 창에서 dataset이 저장된 디렉토리를 찾는다.

3. 엑셀 자료‘class’를 클릭 - 1단계‘데이터 지정 창’

4.‘다음’ 버튼 클릭 - 2단계 ‘데이터 소스 선택’ 창

5.‘다음’ 클릭 - 3단계의 ‘필드 속성 정의’ 창

6. 추가할 ‘고급 옵션’이 없으면 내용을 확인하고 ‘마침’을 클릭

7. 최종적으로 다음과 같은 SAS 데이터를 얻게 됨

(첫 열에 관측값 번호인 ‘Obs’가 추가)

SAS 자료로 변환된 class.xlsx 자료

입력 가능한 외부 자료

SAS 데이터 파일로 저장

파일 → 내보내기를 선택한 후에 파일 이름 및 저장 폴더 지정

1.3.2 SAS에서 외부자료 가져오기

예 : Excel 파일인 ‘class.xlsx’를 읽고 SAS 파일로 저장하는 방법

- 6 -

․ 메뉴 바에서 파일 → 데이터 가져오기

․ ‘Import Wizard’ 입력창에서 Browse 이용하여 원하는 Excel 파일인

class.xlsx를 선택

․ Work 디렉토리에 있는 파일들은 SAS 종료시에 삭제

․ 영구 파일을 만들려면 라이브러리의 다른 디렉토리에 기억

예를 들어 Sasuser 디렉토리에 기억

1.4 SAS 라이브러리의 사용

SAS에서 데이터는 SAS 파일로 저장하고 사용

SAS 라이브러리 : 영구 라이브러리와 임시 라이브러리

프로그램 내에서 생성되었던 임시 data set들은 모두 Work 라이브러리에

저장되었다가 SAS의 종료와 함께 없어짐

파일 확장자 설 명

.log

.lst

.sas

.sas7bacs

.sas7bcat

.sas7bdat

.sas7bmdb

.sas7bpgm

log 파일

output 파일

SAS 프로그램

access descriptor

SAS catalog

테이블

다차원 데이터베이스

저장된 DATA step 프로그램

<표 1.1> 파일 확장자

(1) SAS 라이브러리의 생성

라이브러리 폴더를 활성화 시킨 후에(또는 라이브러리 아이콘을 클릭한 후에)

파일 → 새로 만들기를 선택

‘엔진’V9을 선택한 후, 이름 및 경로를 지정

‘시작할 때 자동 할당’을 선택

예 :‘다변량강좌 → ... → Dataset’ 폴더를

라이브러리 이름 ‘Temp’로 지정

‘시작할 때 자동 할당’을 선택 -- 아니면, 종료와 함께 끊어짐

(2) 라이브러리의 내용 보기

해당 라이브러리에 있는 데이터 파일을 활성화시킨 후

더블클릭 또는 pop-up 메뉴에서 열기 선택 - VIEWTABLE 창에

- 7 -

(3) SAS 라이브러리에 있는 자료의 편집

도구→ 테이블 편집기를 선택하면 VIEWTABLE 창

파일 → 열기를 선택하고 원하는 파일을 선택

(또는 라이브러리에서 원하는 파일을 더블 클릭)

테이블 편집 : 편집 → 편집 모드

편집 메뉴 사용

제 2 장 SAS 맛보기

2.1 EG를 이용한 통계분석

[예제 2.1] dataset에 있는 ‘class’ 데이터 파일에서

변수 Height와 Weight의 관계를 살펴보는 통계분석

① 산점도

작업 → 그래프 → 산점도 에서 2D 산점도 선택

Height와 Weight를 각각 가로, 세로로 선택 후 실행 클릭

Height와 Weight의 산점도

② 단순선형회귀모형으로 적합시키고 산점도

작업 → 회귀 → 선형회귀

Height와 Weight를 각각 설명변수와 종속변수로 선택하고 실행 클릭

- 8 -

2.2 SAS 프로그램의 구성

[예제 2.3] HTWT(height-weight) 자료 (Class 자료, 19명 학생)

이름(NAME), 성별(SEX), 나이(AGE), 키(HEIGHT), 몸무게(WEIGHT)

⋮ ⋮ ⋮

/* HTWT1.SAS : HEIGHT-WEIGHT DATA FILE */

OPTIONS PS=35 LS=100 NODATE;

DATA HTWT;

INPUT ID $ NAME $ SEX $ AGE HEIGHT WEIGHT;

CARDS;

- 9 -

1 ALFRED M 14 59.0 112.5

2 ALICE F 13 56.5 84.0

3 BARBARA F 13 65.3 98.0

4 CAROL F 14 62.8 102.5

5 HENRY M 14 63.5 102.5

6 JAMES M 12 57.3 83.0

7 JANE F 12 59.3 84.5

8 JANET F 15 62.5 112.5

9 JEFFERY M 13 62.5 84.0

10 JOHN M 12 59.0 99.5

11 JOYCE F 11 51.3 50.5

12 JUDY F 14 64.3 90.0

13 LOUISE F 12 56.3 77.0

14 MARY F 15 66.5 112.0

15 PHILIP M 16 72.0 150.0

16 ROBERT M 12 64.3 123.0

17 RONALD M 15 67.0 133.0

18 THOMAS M 11 57.5 85.0

19 WILLIAM M 15 66.5 112.0

;

PROC PRINT;

PROC MEANS;

VAR HEIGHT WEIGHT;

PROC PLOT;

PLOT HEIGHT*WEIGHT;

PROC REG;

MODEL HEIGHT=WEIGHT;

OUTPUT OUT=NEW P=PREDICT R=RESID;

PROC PRINT DATA=NEW;

RUN;

PROC PLOT;

PLOT HEIGHT*WEIGHT PREDICT*WEIGHT='P'/OVERLAY;

PLOT RESID*WEIGHT / VREF=0;

RUN;

PROC SORT;

BY SEX;

PROC MEANS MAXDEC=3;

BY SEX;

VAR HEIGHT WEIGHT;

RUN;

PROC CHART;

VBAR AGE / SUBGROUP=SEX DISCRETE;

VBAR AGE / GROUP=SEX DISCRETE;

RUN; QUIT;

<프로그램 및 출력결과 설명>

/*와 */ 사이에 있는 문장은 코멘트 문

- 10 -

① OPTIONS PS=40 NODATE;

(옵션 문으로 출력결과를 조정)

② DATA HTWT;

③ INPUT ID $ NAME $ SEX $ AGE HEIGHT WEIGHT;

CARDS;

1 ALFRED M 14 59.0 112.5

19 WILLIAM M 15 66.5 112.0

;

④ PROC PRINT; (지금 생성된 data set HTWT를 출력)

⑤ PROC MEANS;

VAR HEIGHT WEIGHT;

⑥ PROC PLOT;

PLOT WEIGHT*HEIGHT;

- 11 -

⑦ PROC REG;

MODEL WEIGHT=HEIGHT;

OUTPUT OUT=NEW P=PREDICT R=RESID;

⑧ PROC PRINT DATA=NEW;

- 12 -

⑨ PROC PLOT;

PLOT WEIGHT*HEIGHT PREDICT*HEIGHT='P'/OVERLAY;

PLOT RESID*HEIGHT / VREF=0;

⑩ PROC SORT DATA=HTWT;

BY SEX; (data set HTWT를 변수 SEX의 오름차순으로 정렬)

⑪ PROC MEANS MAXDEC=3;

BY SEX;

VAR HEIGHT WEIGHT;

- 13 -

⑫ PROC CHART;

VBAR AGE / SUBGROUP=SEX DISCRETE;

VBAR AGE / GROUP=SEX DISCRETE;

변수 AGE에 대하여 vertical bar chart

첫 번째 그림 : 성별에 따라 다른 기호를 사용

두 번째 그림 : 성별에 따라 따로(side-by-side)

SUBGROUP에 의한 막대그래프

GROUP에 의한 막대그래프

[예제 2.4] 곡면 그래프를 그리는 G3D 절차 : 이변량 정규분포의 밀도함수 곡면

/* G3D.SAS : BIVARIATE NORMAL DENSITY */

GOPTIONS CBACK=BLACK COLORS=(WHITE CYAN MAGENTA GOLD YELLOW);

DATA BNORMAL;

rho=0.9;

rhosqr=1-rho**2;

sqrrho=sqrt(1-rho**2);

FORMAT Z 5.1;

DO X=-3 TO 3 BY 0.1;

DO Y=-3 TO 3 BY 0.1;

Z= EXP(-(X**2 + Y**2 - 2*X*Y*rho)/(2*rhosqr))/(6.28*sqrrho);

- 14 -

OUTPUT;

END;

END;

RUN;

PROC G3D DATA=BNORMAL;

PLOT X*Y=Z;

TITLE 'BIVARIATE NORRMAL DENSITY (RHO=0.9)';

RUN; QUIT;

<프로그램 및 출력결과 설명>

① /* G3D.SAS : BIVARIATE NORMAL DENSITY */

GOPTIONS CBACK=BLACK COLORS=(WHITE CYAN MAGENTA GOLD YELLOW);

배경색(CBACK)과 선의 칼라(COLORS)를 지정

② DATA BNORMAL;

다음 과정에서 생성되는 data set을 BNORMAL이라 부른다.

③ rho=0.9;

rhosqr=1-rho**2;

sqrrho=sqrt(1-rho**2);

를 rho라는 변수로 정의하고

rhosqr=, sqrrho=으로 정의

④ FORMAT Z 5.1;

변수 Z는 소수이하 1자리까지만 기억

⑤ DO X=-3 TO 3 BY 0.1;

DO Y=-3 TO 3 BY 0.1;

Z= EXP(-(X**2 + Y**2

- 2*X*Y*rho)/(2*rhosqr))/(6.28*sqrrho);

OUTPUT;

END;

END;

⑥ PROC G3D DATA=BNORMAL;

PLOT X*Y=Z;

TITLE 'BIVARIATE NORRMAL DENSITY (RHO=0.9)';

- 15 -

출력 결과

참고.

<그림 2.15> 인 이변량 정규곡면