본문 바로가기
프로그램이야기/SAS

6.데이터 생성법(1)

by 제이앨 2020. 11. 23.

6.데이터 생성법(1)

 

출처 : wikidocs.net/31034

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

3-1. 직접 테이블 생성법

 

(1) 명령어
DATA XXX: 테이블 XXX를 생성함 

INPUT YYY $ ZZZ: 문자 변수 YYY와 숫자 변수 ZZZ를 생성함(숫자 변수는 변수명만 입력하면 되고 문자 변수는 변수명 뒤에 한 칸을 띄우고 $를 붙임)  
CARDS; XX 1: XX와 1을 각각의 변수에 입력함(CARDS는 DATALINES로 바꿀 수 있습니다.)
RUN: SAS 명령어 종료

 

(2) 예제_1

아래 코드로 실행해 보았습니다. 

테이블 TEST명으로 생성합니다. 

변수명은 name(문자) age(숫자) sex(문자)로 생성합니다. 

변수에 cards 다음 내용을 입력합니다.

오류 (1)이 확인되었습니다. 아래와 같이 수정하였습니다. 

(3) 예제_2

아래 코드로 실행해 보았습니다. 

변수에 cards 다음 내용을 입력합니다.

호날두화이팅 3 남 추가로 작성하였습니다. 

 

출력데이터에 호날까지만 확인이 가능합니다. 

SAS는 문자변수 8글자(영어기준), 4글자(한글)까지 확인가능합니다.

이를 해결하기 위해서 2가지 방법이 있습니다.

첫번째, 포맷변경 : 문자 변수의 길이를 다음과 같이 변경해 줘야 합니다. 

INPUT NAME: $12. AGE SEX $ ; : 변수 NAME의 포맷을 알파벳 10글자까지 받아들일 수 있도록 변경합니다.

 

(3) 예제_3

아래 코드로 실행해 보았습니다. 

변수에 cards 다음 내용을 입력합니다.

호날두화이팅 3 남 변수길이 변경(포맷변경)하여 추가로 작성하였습니다. 

두번째, 입력 대상 데이터 위치 설정 : 문자 변수를 읽어들이는 위치를 설정합니다. 

INPUT NAME $1-12 AGE 14 SEX $ 16-17 ; : 1번째 칸부터 12번째 칸까지는 문자 변수 NAME의 데이터로, 14번째 칸은 변수 AGE의 데이터로, 16번째 칸부터 17번째 칸까지는 변수 SEX의 데이터로 설정합니다.

 

(4) 예제_4

아래 코드로 실행해 보았습니다. 

변수에 cards 다음 내용을 입력합니다.

데이터 위치 설정하여 추가로 작성하였습니다. 

결과를 보시면 이상한 값으로 출력이 되서, 로그를 확인해보고 수정하였습니다. 

성별에 대한 값은 위치를 바꿔봐도 나오지가 않아서 좀더 공부하고 수정해보겠습니다. 

*한글 데이터의 경우 SAS프로그램에서 최소 2개 위치를 차지합니다. 한글 한 글자는 영어 두 글자와 동일한 위치 공간을 차지합니다. 따라서 한글 한 글자를 변수 SEX에 입력하기 위해서는 적어도 2개 칸을 설정해줘야 합니다. 숫자 변수의 경우 한 자당 한 개의 위치를 차지하기 때문에 변수 AGE를 설정할 때처럼(INPUT AGE 14) 하나의 칸만 설정해줘도 무방합니다.

'프로그램이야기 > SAS' 카테고리의 다른 글

8.데이터 생성법(3)  (0) 2020.11.23
7.데이터 생성법(2)  (0) 2020.11.23
5. PROC 사용법(4)  (0) 2020.11.23
4.PROC 사용법(3)  (0) 2020.11.23
3. PROC 사용법(2)  (0) 2020.11.20

댓글