BookmarkSubscribeRSS Feed

[SAS 활용 노하우] 다양한 SAS Procedures part3

Started ‎09-21-2022 by
Modified ‎09-21-2022 by
Views 592

 

■ PROC FORMAT

 

 

PROC FORMAT;
VALUE name range-1 = 'text-1'
range-2 = 'text-2'.
range-n = 'text-n';

 

 

PROC FORMAT 프로시저는  SAS 사용자가 형식을 직접 지정하는 사용자 지정 형식을 만들 수 있는 프로시저 입니다. 

예를 들어, 데이터의 값이 1,2,3으로 입력되어 있는 경우 각 변수 값이 의미하는 바가 10대, 20대, 30대 이상으로 되어 있습니다. 이는 결과를 해석하기에는 어려울 수 있다라는 단점이 있습니다. 

 

 

 

 

1) 'E' = 'Europe'
1, 17 = '0DD';
LOW -< 20 = 'Teen'
21 <- HIGH = 'ADULT';

OTHER = 'NOT GOOD';

 

FORMAT의 형식은 위와 같이 구성됩니다. 

1) 문자값은 따옴표 ('E')f로 묶고

2) 둘 이상의 값 : 쉼표로 구분

3) 숫자 범위: -(하이픈)을 사용하고, 가장 낮은 값에는 Low, 가장 큰 값은 High 범위를 사용합니다. 

4) OTHER: Value Statement 에 있지 않은 이외의 값을 처리하는 변수에 형식을 할당합니다.

 

 

 

 

 

# PROC FORMAT Example

 

 

사용된 데이터는 가상의 Human Resources 데이터로 이름, 나이, 성별, 연봉, 대륙으로 구성된 데이터 입니다.

 

 

 

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을 풀어 결과값에 출력하게 하였습니다.

 

 

 

image.png

 

Version history
Last update:
‎09-21-2022 11:40 AM
Updated by:
Contributors

sas-innovate-wordmark-2025-midnight.png

Register Today!

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.


Register now!

Article Labels
Article Tags