본문 바로가기

난 이 분야 전문가야!/SAS

[SAS 기초 1] SAS란, SAS 프로그램의 기본 구성

SAS는 통계 분석 시스템으로 하나의 컴퓨터 프로그래밍 언어라고 보시면 될 것 같습니다.

간단한 프로그램 명령문을 이용해 데이터의 값을 수정하고 변환하여 새로운 데이터를 추출해 낼 수 있고

읽어온 데이터들을 사용자가 원하는 형태로 조작하여

새로운 데이터 셋을 생성할 수 있고 보고서 또한 작성이 가능합니다.

 

(SAS 기본형식)

위 코드에서 사용된 DATA, INPUT, CARDS, RUN, PROC PRINT

SAS 명령문(statement)의 종류의 일부분으로 중심어(Keyword)라 합니다.

(소문자로 입력해도 실행에는 문제없지만 중심어를 구분하기 위해서 대문자로 적어주는 습관을 가지도록 합시다.ㅎ)

 

SAS 프로그램은 기본적으로 데이터 단계 (DATA-step) 프로시저 단계(PROC-step)로 구성되어 있습니다.

 

데이터 단계(DATA-step)에서는 데이터를 생성하거나, 외부에서 데이터를 읽어오거나,

데이터 변수의 이름, 자료형, 자릿수 등을 사용자가 원하는 형태로 수정할 수 있으며 데이터와 관련된 작업을 수행합니다.

 

DATA 라는 중심어 다음에 데이터셋의 이름으로 시작합니다.

데이터셋의 이름은 사용자가 지정할 수 있으며 저는 학생들의 시험 점수 데이터를 예시로

exam 이라는 이름의 데이터셋을 생성했습니다.

 

 

프로시저 단계(PROC-step)에서는 데이터 단계에서 다룬 데이터들을 통계 분석하거나, 그래프를 그리거나 보고서를 작성하는 등 결과를 도출해내는 작업을 수행합니다.

 

PROC 이라는 중심어 다음에 특정 기능을 가진 프로시저의 이름으로 시작됩니다.

위의 예시 코드의 PRINT는 데이터셋을 출력해주는 기능을 합니다.

 

위의 코드를 간단히 설명하자면

INPUT 명령문을 사용해서 변수 name, math, english, korean 4개의 변수를 선언하였습니다.

변수나 데이터셋의 이름을 지정할 때에는 영문자 또는 '_' 으로 시작해야 하며 사이에 0~9 숫자 사용은 가능하나

공백, ".", "$", "?" 등 특수문자는 사용할 수 없습니다.

(ex)  student(O)  student1 (O)  student1_2_3(O)     student#1(X)  student!!(X)

여기서 name 뒤에 붙은 \$ 는 문자형을 의미 하고 문자형 변수 뒤에는 항상 \$ 기호를 추가합니다.

CARDS 는 데이터의 시작을 알리는 명령문으로 데이터가 SAS 프로그램 내에서 입력될 때 사용됩니다.

RUN; 이 나올때까지 데이터를 인식합니다.

 

PROC PRINT DATA=exam;

exam이라는 이름의 데이터셋을 출력하겠다는 의미입니다.

여기서 주의할점은 명령문은 일반적으로 하나의 중심어로 시작해서 끝날 때에는 반드시 ;(세미콜론)으로 문장을 닫아주어야 합니다.

 

위 코드를 실행시키면 아래와 같은 결과가 출력됩니다.

 

상단 행의 name math english korean 을 변수(variable) 라 합니다.

각 행을 하나의 개체(Observation)라 하며 현재 5개의 개체가 존재하는 것을 알 수 있습니다. 

 

 

 

 

틀린 부분이 있다면 따뜻한 피드백 부탁드립니다~

728x90