STUDY(공개)/SAS

3. 데이터 생성법

모코코마을 2023. 8. 29.

1. 직접 테이블 생성법(INPUT 변수명 / CARDS 데이터)

확장편집기

DATA TEST;/*데이터 TEST를 생성함(DATA)*/
INPUT NAME $ AGE SEX $;/*문자 변수 NAME과 SEX, 숫자 변수 AGE를 생성함(INPUT)*/
CARDS;/*변수별 데이터를 입력함(CARDS)*/
OK 1 남
YOU 2 녀
;/*변수별로 들어갈 데이터 입력*/

RUN;/*SAS명령어 종료*/

숫자변수는 그냥 입력, 문자변수 뒤에는 한 칸 띄우고 $ 입력

즉, NAME(문자) $ / AGE(숫자) / SEX(문자) $ 

 

 

결과

NAME AGE SEX
OK 1
YOU 2

 

숫자 변수로 설정되어 있는데 문자 변수가 입력되어 있는 경우 해당 데이터는 '.'으로 입력

NULL(결측치)값으로 입력됨

 

 


문자 변수를 8글자(영어 기준)으로 읽을 수 있도록 설정되어 있음(기본값)

한글로는 4글자까지

 

INPUT NAME $;

CARDS;

모코코화이팅

; -> 모코코화

 

이를 바꿔주는 방법(포맷을 변경)은 2가지가 있음

 

1) 문자 변수 길이 변경 (INPUT 문자변수: $nn.)

 

확장편집기

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

확장편집기

DATA TEST;/*데이터 TEST를 생성함(DATA)*/
INPUT NAME: $12. AGE SEX $;/*문자 변수 NAME의 포맷을 최대 12글자(알파벳 기준)까지 받아들일 수 있도록 변경합니다(NAME: $12.) */
CARDS;/*변수별 데이터를 입력함(CARDS)*/
OK 1 남
YOU 2 녀
모코코화이팅 3 남
;/*변수별로 들어갈 데이터 입력*/
RUN;/*SAS명령어 종료*/

결과

NAME AGE SEX
OK 1
YOU 2
모코코화이팅 3

 

 


2) 입력 대상 데이터 위치 설정(INPUT 변수 ($)nn-nn)

확장편집기

DATA TEST;/*데이터 TEST를 생성함(DATA)*/
INPUT NAME $1-12 AGE 14 SEX $16-17;/*1~12번째 칸의 데이터를 문자 변수 NAME의 데이터로(NAME $1-12), 14번째 칸은 숫자 변수 AGE의 데이터로(AGE 14), 16~17번째 칸은 문자 변수 SEX의 데이터로(SEX $ 16-17) 설정함*/
CARDS;/*변수별 데이터를 입력함(CARDS)*/
OK           1 남
YOU          2 녀
모코코화이팅 3 남
;/*변수별로 들어갈 데이터 입력*/
RUN;/*SAS명령어 종료*/

결과

NAME AGE SEX
OK 1
YOU 2
모코코화이팅 3

 

 

 


2. 외부 데이터를 불러와서 테이블 생성하기(INFILE '경로' / DLM='구분자')

데이터

TEST.TXT 파일 내용

OK,1,남

YOU,2,녀

모코코화이팅,3,남

test.txt
0.00MB

 

확장편집기

DATA TEST;/*데이터 TEST를 생성함(DATA)*/
INFILE 'C:/SAS_TEST/TEST.TXT' DLM=‘,’;/*'C:/SAS_TEST/TEST.TXT' 위치에 있는 파일을 읽어오고(INFILE) 파일의 구분자는 ‘,’로 이뤄져있다는 것을 규정(DLM=’,‘)*/
INPUT NAME: $12. AGE SEX $;/*문자 변수 NAME(알파벳12글자 길이로 지정)과 SEX, 숫자 변수 AGE를 생성함(INPUT)*/
RUN;/*SAS명령어 종료*/

결과

NAME AGE SEX
OK 1
YOU 2
모코화이팅 3

 

CARDS와 INFILE와 유사

CARDS: 적은 데이터, 직접 입력

INFILE: 많은 데이터, 파일 불러오기

 


3. 테이블을 불러와서 새 테이블 생성하기(SET)

확장편집기

DATA TEST;/*테이블 TEST를 생성합니다.*/
SET SASHELP.CLASS;/*테이블 SASHELP.CLASS를 불러옵니다.*/
RUN;/*SAS명령어를 종료합니다.*/

결과

NAME SEX AGE HEIGHT WEIGHT
알프레드 14 69 112.5
앨리스 13 56.5 84
바바라 13 65.3 98
캐롤 14 62.8 102.5
헨리 14 63.5 102.5
제임스 12 57.3 83
제인 12 59.8 84.5
자넷 15 62.5 112.5
제프리 13 62.5 84
12 59 99.5
조이스 11 51.3 50.5
주디 14 64.3 90
루이스 12 56.3 77
메리 15 66.5 112
필립 16 72 150
로버트 12 64.8 128
로날드 15 67 133
토마스 11 57.5 85
윌리엄 15 66.5 112

 

728x90

'STUDY(공개) > SAS' 카테고리의 다른 글

6. 테이블 결합  (0) 2023.09.02
5. 데이터 전처리를 위한 SAS 명령  (0) 2023.09.02
4. 포맷(FORMAT)의 개념  (0) 2023.09.01
2. PROC 사용  (0) 2023.08.29
1. SAS의 기초  (0) 2023.08.29

댓글