[SAS] 만 나이 계산
통계 프로그램인 SAS로 만 나이 구하는 법을 알아보겠다.
데이터는 center는 aa, bb, cc 세 곳에서 정보를 수집하였으며, SCREENING_NO에 각 사람에게 번호를 부여하였다.
인구학적 정보 BIRTH가 들어있는 DM 데이터와,
서면 동의일(ICDT)이 기록된 IC 데이터 두개의 데이터를 사용하여
각 사람의 만 나이를 구하여 보겠다.
title "DM";
PROC PRINT DATA=dm;
RUN;
title "IC";
PROC PRINT DATA=ic;
RUN;
각 사람의 만 나이를 구할 것이기 때문에 각 사람에게 부여된 고유한 SCREENING_NO 기준으로
태어난 날부터 서면동의한 날까지의 만 나이를 구하여 볼 것이다.
가장 먼저 해야할 것은 BY문을 사용할 것이기 때문에 SCREENING_NO로 정렬을 해주는 것이다.
PROC SORT DATA=dm OUT=dm_sort;
BY SCREENING_NO;
RUN;
PROC SORT DATA=ic OUT=ic_sort;
BY SCREENING_NO;
RUN;
그 다음으로는 YRDIF (sdate,edate,basis) 함수를 사용하여 만 나이를 계산하여 볼 것이다.
sdate에는 시작 날짜인 dm 데이터의 birth를 입력하고,
edate에는 기준 날짜인 ic 데이터의 icdt를 입력할 것이다.
마지막으로 basis에는 나이를 계산하는 방식에 따라 옵션이 다른데
우리는 만 나이를 계산할 것이기에 ‘actual’을 입력하여 준다.
DATA American_age;
MERGE dm_sort(keep=SCREENING_NO birth) ic_sort(keep=SCREENING_NO icdt);
BY SCREENING_NO;
age=int(yrdif(birth,icdt,'actual'));
RUN;
title "American age";
PROC PRINT DATA=American_age;
RUN;
American_age 데이터를 새로 생성하여 주었다.
American_age 데이터는 dm 데이터와 ic 데이터를 SCREENING_NO 기준으로 MERGE문을 통해 합쳐주었으며,
age에 만 나이 계산값을 입력하여 출력하였다.
이상으로 SAS에서 만 나이를 계산하는 방법을 알아보았다.