1.1 SAS 시스템 제 1 장 SAS : Statistical Analysis System SAS 사용법 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 아이콘 ( ) 에서오른쪽마우스버튼을클릭하여 2) EG SAS 바로가기 를만들어바탕화면으로옮김. C:\ Program Files\ SASHome\ x86\ SASEnterpriseGuide\ 4.3( 또는 5.1)\ 폴더에있는 SEGuide 아이콘 ( ) 에서오른쪽마우스버튼을클릭하여 SEGuide 바로가기 를만들어바탕화면으로옮김. 1.2 SAS 시작하기 1.2.1 SAS 와 EG 의초기화면
확장편집기에 HTWT1 이란 SAS 프로그램이열린모양 EG 에서 class 란 SAS 자료가열린모양 1.2.2 SAS 에서창의관리 SAS 에서기본이되는창 (window) : 탐색기, 결과, 편집기 (Editor), 로그 (Log), Result Viewer 등
(1) 탐색기 (Explorer) 창라이브러리, 테이블 ( 또는 data set), 카탈로그, 파일등을관리보기 트리보기 : 트리모양의파일폴더 (2) 결과 (Results) 창 탐색기 창과 결과 창은탭클릭으로교대로나타남출력결과의목록 - 더블클릭에의해해당되는창으로이동 (3) 확장편집기 (Enhanced Editor) 창확장편집기는칼라와코드구역을사용하여프로그램을작성및편집저장된 SAS 프로그램파일을열수도있고, 프로그램을실행 (Run) (4) 로그 (Log) 창프로그램내용의검토결과출력오류가있을때는원인출력각절차들의실행소요시간등이출력됨. (5) Results Viewer 창 SAS 프로그램의실행결과가출력됨 1.2.3 EG 에서창의관리 EG : 메뉴를이용한통계자료분석 자료열기 : 열기아이콘 ( ) 또는파일 열기메뉴에서데이터를선택 통계자료분석예 : 작업 기술 요약통계량 EG 에서작업메뉴
요약통계량옵션선택창 요약통계량의결과창 1.3 자료가져오기 EG 와 SAS 에서는모든데이터파일을 SAS 자료로바꾸어실행 따라서자료들을 SAS 데이터파일로바꾸어저장해놓고사용 1.3.1 EG에서자료열기 (1) SAS 자료열기예 : SAS 라이브러리의 SASHELP 폴더에있는 CLASS 자료열기열기아이콘을클릭하고이어서데이터메뉴를클릭 SAS 라이브러리를찾기위해서는다음을차례로선택서버 로컬 라이브러리 SASHELP 폴더를열고 CLASS를선택 SASHELP 에있는 CLASS 자료
(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 파일로저장하는방법
메뉴바에서파일 데이터가져오기 Import Wizard 입력창에서 Browse 이용하여원하는 Excel 파일인 class.xlsx를선택 Work 디렉토리에있는파일들은 SAS 종료시에삭제 영구파일을만들려면라이브러리의다른디렉토리에기억예를들어 Sasuser 디렉토리에기억 1.4 SAS 라이브러리의사용 SAS 에서데이터는 SAS 파일로저장하고사용 SAS 라이브러리 : 영구라이브러리와임시라이브러리프로그램내에서생성되었던임시 data set들은모두 Work 라이브러리에저장되었다가 SAS의종료와함께없어짐 < 표 1.1> 파일확장자파일확장자설명.log.lst.sas.sas7bacs.sas7bcat.sas7bdat.sas7bmdb.sas7bpgm log 파일 output 파일 SAS 프로그램 access descriptor SAS catalog 테이블다차원데이터베이스저장된 DATA step 프로그램 (1) SAS 라이브러리의생성라이브러리폴더를활성화시킨후에 ( 또는라이브러리아이콘을클릭한후에 ) 파일 새로만들기를선택 엔진 V9을선택한후, 이름및경로를지정 시작할때자동할당 을선택예 : 다변량강좌... Dataset 폴더를라이브러리이름 Temp 로지정 시작할때자동할당 을선택 -- 아니면, 종료와함께끊어짐 (2) 라이브러리의내용보기해당라이브러리에있는데이터파일을활성화시킨후더블클릭또는 pop-up 메뉴에서열기선택 - VIEWTABLE 창에
(3) SAS 라이브러리에있는자료의편집도구 테이블편집기를선택하면 VIEWTABLE 창파일 열기를선택하고원하는파일을선택 ( 또는라이브러리에서원하는파일을더블클릭 ) 테이블편집 : 편집 편집모드편집메뉴사용 제 2 장 SAS 맛보기 2.1 EG 를이용한통계분석 [ 예제 2.1] dataset 에있는 class 데이터파일에서 변수 Height 와 Weight 의관계를살펴보는통계분석 1 산점도 작업 그래프 산점도에서 2D 산점도선택 Height 와 Weight 를각각가로, 세로로선택후실행클릭 Height 와 Weight 의산점도 2 단순선형회귀모형으로적합시키고산점도 작업 회귀 선형회귀 Height 와 Weight 를각각설명변수와종속변수로선택하고실행클릭
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;
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; < 프로그램및출력결과설명 > /* 와 */ 사이에있는문장은코멘트문
1 OPTIONS PS=40 NODATE; ( 옵션문으로출력결과를조정 ) 2 DATA HTWT; 3 INPUT ID $ NAME $ SEX $ AGE HEIGHT WEIGHT; CARDS; 1 ALFRED M 14 59.0 112.5 19 WILLIAM M 15 66.5 112.0 ; 4 PROC PRINT; ( 지금생성된 data set HTWT 를출력 ) 5 PROC MEANS; VAR HEIGHT WEIGHT; 6 PROC PLOT; PLOT WEIGHT*HEIGHT;
7 PROC REG; MODEL WEIGHT=HEIGHT; OUTPUT OUT=NEW P=PREDICT R=RESID; 8 PROC PRINT DATA=NEW;
9 PROC PLOT; PLOT WEIGHT*HEIGHT PREDICT*HEIGHT='P'/OVERLAY; PLOT RESID*HEIGHT / VREF=0; 10 PROC SORT DATA=HTWT; BY SEX; (data set HTWT 를변수 SEX 의오름차순으로정렬 ) 11 PROC MEANS MAXDEC=3; BY SEX; VAR HEIGHT WEIGHT;
12 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);
OUTPUT; END; END; RUN; PROC G3D DATA=BNORMAL; PLOT X*Y=Z; TITLE 'BIVARIATE NORRMAL DENSITY (RHO=0.9)'; RUN; QUIT; < 프로그램및출력결과설명 > 1 /* G3D.SAS : BIVARIATE NORMAL DENSITY */ GOPTIONS CBACK=BLACK COLORS=(WHITE CYAN MAGENTA GOLD YELLOW); 배경색 (CBACK) 과선의칼라 (COLORS) 를지정 2 DATA BNORMAL; 다음과정에서생성되는 data set을 BNORMAL이라부른다. 3 rho=0.9; rhosqr=1-rho**2; sqrrho=sqrt(1-rho**2); 를 rho라는변수로정의하고 rhosqr=, sqrrho= 으로정의 4 FORMAT Z 5.1; 변수 Z 는소수이하 1 자리까지만기억 5 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; 6 PROC G3D DATA=BNORMAL; PLOT X*Y=Z; TITLE 'BIVARIATE NORRMAL DENSITY (RHO=0.9)';
출력결과 참고. < 그림 2.15> 인이변량정규곡면