사이트맵  |  Contact Us
 
홈 > SAS Stories > SAS 활용 노하우
SAS 초보용 팁 2 2010.08.03
MYSAS 5675 0
http://www.mysas.co.kr/sas_club/d_freeboard.asp?b_no=1498&gotopage=4&con=subject&keyword=&cmd=content&bd_no=04&gubun=

2.1   데이터세트

SAS 를 이용한 자료분석을 하고 싶을 때는 원하는 자료를 데이터세트로 만들어야 합니다.

즉, SAS가 읽을 수 있는 구조로 만들어줘야 한다는 뜻입니다.

 

데이터세트는 변수와 관측치(혹은 개체)라는 직사각형으로 배열된 자료들의 집합입니다. 박스나 줄이 없는 표라고 생각하면 됩니다.

변수(variable)는 데이터세트의 한 열

개체(observation)는 데이터세트의 한 행으로 생각하시면 됩니다

 

2.2 외부에 있는 txt 파일 읽어오기

 

Data ex2_1;

 INFILE ‘c:\sasworks\company.txt’ ;        

/*infile 문을 통해 txt 파일을 불러올 수 있습니다. INFILE 후 따옴표와 함께 경로를 확장자까지 지정해주시면 됩니다. */

 INPUT id 1-2 age 3 sex $ 4 

/*input 을 통해 변수를 지정해줍니다. 숫자는 열번호를 뜻합니다.*/ 

 LABEL id=’고객번호’ age=’나이’ sex=’성별’ ; 

/*label 은 변수들을 설명을 붙여주는 기능을 합니다.*/

RUN ;

 

2.3   데이터세터의 이용과 저장

2.2 에서 처럼 데이터세트를 읽어오거나 지정완료를 했을 때 제대로 저장을 해놓지 않는다면 매번 데이터세트를 읽어오고 혹은 직접 입력해야 하는 문제가 생깁니다.

 

여기서 library 개념이 나오는데 library 란 컴퓨터 속의 특정 폴더를 SAS 프로그램 내의 한 폴더와 연결시켜주는 기능이다. SAS 프로그램 내의 지정하게 되는 폴더를 라이브러리라고 하며 libname 이라는 명령어를 통해 지정할 수 있습니다.

 

LIBNAME sasworks   ‘C:\abcd’ ; 

C:\abcd 라는 폴더를 SAS 의 sasworks 라는 library에 지정한다는 뜻이다. 이 후 sasworks에 저장하게 되는 데이터세트는 C:\abcd에 영원히 남겨되어 SAS를 종료 후 나중에 실행한다 해도 언제든 다시 불러내 쓸 수 있습니다.

데이터세트는 다음과 같이 sasworks 라는 library에 저장할 수 있습니다. 

Data sasworks.example ;

Infile ‘C:\sas\company.txt ‘ ;

Input id 1-2 ;

Run;

 

Sasworks.example 사이에 있는 점으로서 앞 뒤를 구분하며 앞은 library의 이름, 뒤는 데이터세트의 이름이 된다. Data 구문에서 이런 식으로 저장하면 example이란 데이터세트를 sasworks 라는 library에 저장한다는 뜻이 됩니다. 동시에 C:\abcd 라는 컴퓨터 폴더에 저장된다는 뜻이기도 합니다.

 

이런 식으로 특정 library를 지정하지 않으면 work라는 임시 library에 데이터세트가 저장되게 되는데 work 안의 데이터세트들은 SAS 가 종료되는 순간 없어지므로 저장하고 싶은 데이터세트가 있다면 원하는 library 에 저장하거나 따로 복사해줘야 합니다.

 

Library 는 SAS를 구동할 때마다 매번 libname 을 통해 지정해 주어야 한다. 물론 원래 있던 폴더가 없어지는 것은 아니지만 libname을 통해 SAS 구동 중에 이용할 library의 이름을 정해줘야 합니다.

팁1

이런 과정이 귀찮다면 library를 만들 때 libname 구문을 통해서 만들지 말고 메뉴 쪽 빠른 실행아이콘 중에 새로운 라이브러리의 생성을 클릭하는 방법을 쓰면 된다. 이 방법을 통해 library를 지정하면 시작할 때 자동 할당이라는 옵션이 있고 이 네모박스에 체크해주면 그 라이브러리는 시작할 때마다 할당을 해주지 않아도 바로 사용할 수가 있다.

 

팁2 

SET 기능을 통해 한 라이브러리의 데이터세트를 다른 라이브러리로 복사할 수 있다.

DATA sasworks.example ;

SET kkkk.example1;

run;

위의 구문으로 kkkk의 example1이라는 데이터세트를 sasworks에도 만들었습니다.

 

 

 

 

 
 
휴대폰 번호
휴대폰 인증번호
 
 오늘의 팁 8/4 RENAME 함수를 이용한 sas files 과 컴퓨터내 파일, 디렉토리 이름 바꾸기
 SAS 초보용 팁 1