Search
Duplicate

SAS 파일 & 라이브러리

태그
목차

1. SAS 프로그래밍의 기본 요소

1) SAS 명령문의 구성요소

중심어: SAS 명령문의 종류를 나타내는 것으로 DATA, INPUT, CARDS, PROC, RUN 등이 있음.
이름: 변수, SAS 데이터 셋, 프로시저 등의 이름을 나타냄. 변수와 SAS 데이터 셋의 이름은 사용자가 다음 형식에 따라 지정한다.
영문자 또는 _ 로 시작해야 함 (한글명 불가)
최대 32자의 문자열 사용 가능
이름의 중간에 숫자 사용은 가능
공백 및 특수문자(., #, $, ? 등)는 사용불가
특수문자 및 연산자: 특수한 역할을 위해 정의된 $, ; 등의 특수문자와 * / 등의 연산자를 사용함.

2) SAS 명령문의 형식

하나의 중심어로 시작하여 반드시 ; (세미콜론)으로 닫아주어야 한다.
명령문의 각 원소는 적어도 하나 이상의 공백에 의하여 구분되어야 한다.
일반적으로 대/소문자를 구분하지 않고 사용해도 무방함.
한 행(line)의 어느 열(column)에서나 시작할 수 있고, 다음 행으로 한 단어의 짤림이 없이 연속될 수 있으며, 한 행에 여러 개의 명령문을 사용할 수 있음.
사용자는 /* 주석내용 */ 의 형식으로 주석을 추가할 수 있음.

3) DATA 스텝과 PROC 스텝

SAS 프로그램은 DATA 스텝PROC 스텝의 반복으로 구성됨.
(1) DATA Step
DATA Step은 SAS 데이터 셋의 생성 및 자료 변형 등 데이터에 대한 조작을 수행하는 단계이다.
DATA라는 중심어와 생성하고자 하는 SAS 데이터 셋의 이름(사용자가 정의)으로 시작된다.
예시
DATA TEMP; INPUT SUBJECT SATV SATM; CARDS; 1 520 490 2 610 590 ...
Plain Text
복사
(2) PROC Step
PROC Step은 SAS 데이터 셋을 이용하여 통계분석, 그래프 및 보고서 작성 등을 수행하는 단계이다.
PROC이라는 중심어와 특정한 역할을 수행하는 프로시저의 이름으로 시작된다.
각 프로시저들은 특정한 통계 분석이나 그래프 그리기 등의 기능을 담당하며, 프로시저마다 일정한 문법 형식을 가지고 있다.
예시
PROC PRINT DATA=person;
Plain Text
복사

2. SAS 파일 생성하기

SAS 확장편집기 창을 이용하여 SAS 파일을 생성하는 방법에는 2가지가 있다. 첫 번째는 직접 자료를 입력하는 것이고 두 번째 방법은 외부파일을 읽어들이는 방법이다.

1) 직접 자료를 입력하는 방법

DATA: SAS 파일을 생성하기 위해서는 반드시 DATA로 시작하고, DATA 다음에 명기된 이름으로 SAS 파일이 작성된다.
INPUT: SAS 파일을 구성하기 위해서 읽어들이는 자료의 속성을 변수로 지정한다. 변수명은 사용자가 직접 지정함.
CARDS: SAS에서 직접 자료를 입력하여 파일을 만드는 경우 사용하는 명령어이다. 자료 입력이 끝난 후 반드시 ;을 이용하여 자료 입력의 종료를 선언함.
RUN: SAS 명령문의 종료를 선언함.
예시
DATA grade; INPUT id name $ class $ score grade $; CARDS; 2590 john Stat 80.3 A 3569 willy Math . B 7048 younghee . 30.6 C ; RUN;
Plain Text
복사
→ 변수명 뒤에 $을 넣는 경우 해당 변수가 Character Type임을 선언하는 것.
→ 결측값은 마침표(.)로 표시

2) 외부파일을 SAS로 읽어들이는 방법

INFILE: 데이터를 외부파일로부터 읽는 경우에 외부파일의 경로(path)와 파일이름(filename)을 지정하는 명령문
항상 INPUT 명령문 앞에 위치해야 함. INPUT 문의 활용 방법은 (1)에서와 동일
경로를 포함한 파일명을 인용부호(” “)로 닫아주어야 함.
INFILE 명령문의 주요 옵션
DLM=’,’: CSV 파일을 읽을 수 있음
FIRSTOBS=n : n번째 행에서부터 자료를 읽기 시작
예시
DATA POTTERY; INFILE 'D:\SASexamples\pottery.csv' DLM=',' FIRSTOBS=2; INPUT Al Fe Mg Ca Na Site$ ; RUN;
Plain Text
복사