본문 바로가기
Blog/MOOC

[통계패키지] SAS 문장 사용법

by NAMP 2017. 3. 20.

[통계패키지] SAS 문장 사용법

데이터의 구조

  • 데이터 세트(data set) : SAS에서의 자료 모임
  • 데이터 값(data value): 데이터 세트를 이루는 기본단위
  • 관측(observation): 동일 개체에 국한된 데이터 값들 → record
  • 변수(variable): 동일 특성에 대한 데이터 값들의 모임
  • 변수이름(variable name): 자료의 입력과 구조변경 저장등을 수행
  • 연산자: 각종 수학연산을 수행하기 위한 연산기능을 나타내는 기호

데이터 구조 → SAS문장과 연산자 → 데이터 입력의 유형과 용법 → Data 문과 Input 문

SAS문장과 연산자

  • SAS 키워드 : DATA, INPUT, DATALINES, RUN PROC, PRINT, SET
  • SAS 이름: class, name$(문자변수), field$(문자변수), score
  • 연산자(operator): ; = + - * ** /

SAS 이름을 짓는 규칙

  1. 최대 여덟자까지 문자를 이용한다.
  2. 첫문자는 반드시 영문자나 밑줄(_)사용
  3. 두번째 문자부터는 영문자, 밑줄, 숫자 사용
  4. SAS이름 중간에 빈칸이 있을 수 없다

정규표현식으로 표현하면 다음과 같다.

[a-zA-Z_][a-z-A-Z0-9_]{,7}

DATA 로 시작하고 RUN;으로 마무리 한다.

키워드내용
DATAclass;
INPUTid sex$ score;
DATALINES;1 F 90
2 M 75
RUN;

외부 파일을 읽어서 사용하는 방법

키워드내용
DATAclass;
INFILE'c:/exam.dat';
INPUTid sex$ score;
RUN;

$ 는 문자열임을 나타냄

SAS 문장과 연산자

  • 연산자: SAS 연산자
  • 피연산자: 상수, 변수이름

1

score + 10

age < 3 or age > 80

1 / EXP (a*b)

새 변수명 = 새 변수 정의 내용

score = score + 20;

문자상수

name = '콩쥐';

  • 산술연산자 : +, -, *, /, **
  • 비교연산자 : =, EQ, ^=, NE, >, GT, <, LT, >=, GE, <=, LE
  • 논리연산자: &, AND, |, OR, ^, NOT

SAS 함수

Function(argument)

Y = SQRT(X)

average = MEAN(X1, X2, X3, X4, X5)

SAS 라이브러리

임시 생성된 SAS 데이터파일을 보존해서 추후 사용하기 위한 임시저장 폴더

  • 영구 라이브러리
  • 임시 라이브러리

LIBNAME 라이브러리이름 '하드디스크 폴더';

프로그램에 직접 자료를 포함하는 방법


DATA class;
	INPUT name $ A B;
DATALINES;
	LEE 55 65
	KIM 73 75
RUN;

지정된 세개의 변수에 값이 할당된다.

DATA 단계의 시작을 알리는 문장


DATA new; set class;
	score = exam1 + exam2
RUN;

score 라는 새로운 변수를 만든다.


DATA new; set new;
	average = score / 2
RUN;

INPUT 문장

입력되는 자료의 형태와 변수이름을 지정하는 문장

INPUT specification;

자료의 입력형식

  • 자유입력
  • 목록입력
  • 열입력
  • 포멧입력

열입력법

각 변수가 입력되는 열의 범위를 지정하는 입력방식


INPUT name$ 1-15 age 16-17 ht 20-22 wt 25-26 kids 30;

포멧입력법

입력형식을 지정하여 자료를 입력하는 방식


INPUT name$ CHAR 15 age 2. ht 5. wt 4.1 kids 4.;

그룹포멧입력법


INPUT X14. X24. X3.;
INPUT (X1 X2 X3)(4.4.4.);
INPUT (X1-X3)(3*4.);
INPUT (X1-X3)(4.);

INFILE 문장

디스켓에 보관된 외부 데이터 파일을 입력할 때 사용한다.

INFILE file specification;


DATA class;
	INFILE 'A:\DATA.TXT';
	INPUT name $ A B ;
RUN;

댓글