■ PROC FORMAT
PROC FORMAT;
VALUE name range-1 = 'text-1'
range-2 = 'text-2'.
range-n = 'text-n';
예를 들어, 데이터의 값이 1,2,3으로 입력되어 있는 경우 각 변수 값이 의미하는 바가 10대, 20대, 30대 이상으로 되어 있습니다. 이는 결과를 해석하기에는 어려울 수 있다라는 단점이 있습니다.
1) 'E' = 'Europe'
1, 17 = '0DD';
LOW -< 20 = 'Teen'
21 <- HIGH = 'ADULT';
OTHER = 'NOT GOOD';
1) 문자값은 따옴표 ('E')f로 묶고
2) 둘 이상의 값 : 쉼표로 구분
3) 숫자 범위: -(하이픈)을 사용하고, 가장 낮은 값에는 Low, 가장 큰 값은 High 범위를 사용합니다.
4) OTHER: Value Statement 에 있지 않은 이외의 값을 처리하는 변수에 형식을 할당합니다.
# PROC FORMAT Example
DATA HR;
INPUT name $ Age Sex Income continent $;
datalines;
Angela 19 1 14000 A
barbara 45 1 65000 E
Cassidy 72 2 35000 O
Dorothy 31 1 44000 SA
Emma 58 2 83000 AN
;
PROC FORMAT;
VALUE gender 1 = 'Male'
2 = 'Female';
VALUE agegroup 13 -< 20 = 'Teen'
20 -< 65 = 'Adult'
65 - HIGH = 'Senior';
VALUE $CONT 'A' = 'ASIA'
'E' = 'EUROPE'
'O' = 'Oceania'
'SA' = 'South America'
'AN' = 'Antarctica';
PROC PRINT DATA = HR;
FORMAT Sex gender. Age agegroup. Income DOLLAR8. CONTINENT $CONT.;
RUN;
5명의 데이터로 raw data의 variable은 sex > gender로 변수가 변경되어 남자는 1, 여자는 2를 할당하였습니다.
또한 age 변수는 13세부터 20세, 20세부터 65세, 65세 이상 으로 3개의 그룹으로 나누어서 agegorup으로 'Teen', 'Adult', 'Senior'로 갑승ㄹ 할당하였습니다.
또한, raw 데이터에 설정된 continent_대륙변수는 abbreviation을 풀어 결과값에 출력하게 하였습니다.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.