반응형
Data set
Code
/* Get Age */
data workshop.data3;
set workshop.data3;
birth = input(substr(regnum,1,6), YYMMDD6.);
today = today();
age = int((today-birth)/365.25);
drop birth today;
run;
- 우선 substr 함수를 사용해 주민등록번호의 앞자리만 자른 후, 이것을 input 함수를 이용해 YYMMDD6. Informat으로 읽어들여 Numeric으로 변환하여 birth 변수에 저장한다.
- today 함수는 오늘 날짜를 numeric으로 돌려준다. 이 숫자 변수는 1960년 1월 1일부터 현재까지의 날짜의 차이를 뜻한다.
- age는 오늘 날짜에서 출생날짜를 뺀 후 365.25로 나누어준다. 그리고 만 나이이므로 int 함수를 통해 소숫점을 잘라내서 정수로 만들어 준다.
- 마지막으로 사용한 임시변수 birth, today를 drop해준다.
반응형
'Tools > SAS' 카테고리의 다른 글
SAS - Paired Sample에 대한 비모수 검정 (0) | 2017.04.02 |
---|---|
SAS - 연령 변수를 이용해 새로운 범주형 변수 만들기 (0) | 2017.04.01 |
SAS - (4) PROC FREQ 빈도 분석 (0) | 2017.03.13 |
SAS - (3) Standard Deviation 구하기 (0) | 2017.03.08 |
SAS - (2) PROC SQL로 새로운 테이블 만들기 (0) | 2017.03.08 |