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,남
확장편집기
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 |
댓글