************************************************************************ * Program: C:\NHANES\age_adj_mean_sas.sas * * Proposal: Generate age adjusted means using SAS Survey Procedures * ************************************************************************; LIBNAME NH "C:\NHANES\data\your_dir"; OPTIONS NODATE NOCENTER; option ls=72; proc format; VALUE sexfmt 1 = 'Male' 2 = 'Female' ; VALUE racefmt 1 = 'NH-White' 2 = 'NH-Black' 3 = 'Mex-Am' 4 = 'Other' ; VALUE agefmt 1 = '20-39' 2 = '40-59' 3 = '60+' ; run; DATA ANALYSIS_DATA; SET NH.ANALYSIS_DATA; if ridstatr = 2; ***examined ; if ridageyr ge 20 then sel=1; else sel=2; age = .; if 20 LE ridageyr LE 39 then age=1; if 40 LE ridageyr LE 59 then age=2; if ridageyr GE 60 then age=3; race=.; if ridreth1=3 then race=1; if ridreth1=4 then race=2; if ridreth1=1 then race=3; if ridreth1=2 or ridreth1=5 then race=4; LABEL age = 'AGE GROUP' race = 'Race Ethnicity' riagendr = 'Gender' ; RUN; title; /*race/ethnicity*/ proc surveyreg data=analysis_data nomcar; STRATA sdmvstra; cluster sdmvpsu; weight wtmec4yr; class race age; MODEL bmxbmi=race age race*age /noint solution; ESTIMATE 'NH White ' race 1 0 0 0 age .3966 .3718 .2316 race*age .3966 .3718 .2316 0 0 0 0 0 0 0 0 0, 'NH Black ' race 0 1 0 0 age .3966 .3718 .2316 race*age 0 0 0 .3966 .3718 .2316 0 0 0 0 0 0, 'Mex Amer ' race 0 0 1 0 age .3966 .3718 .2316 race*age 0 0 0 0 0 0 .3966 .3718 .2316 0 0 0; TITLE 'Age-adjusted means & standard errors of body mass index:'; title2 'NHANES 1999-2002'; run; /*total*/ proc surveyreg data=analysis_data nomcar; STRATA sdmvstra; cluster sdmvpsu; weight wtmec4yr; class race age; MODEL bmxbmi=age/noint solution; ESTIMATE 'Total ' age .3966 .3718 .2316; TITLE 'Age-adjusted means & standard errors of body mass index:'; title2 'NHANES 1999-2002'; run; /*gender,race/ethnicity*/ proc surveyreg data=analysis_data nomcar; STRATA sdmvstra; cluster sdmvpsu; weight wtmec4yr; class riagendr race age; MODEL bmxbmi=riagendr race age riagendr*race*age /noint solution; ESTIMATE 'NH White Men' riagendr 1 0 race 1 0 0 0 age .3966 .3718 .2316 riagendr*race*age .3966 .3718 .2316 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0, 'NH Black Men' riagendr 1 0 race 0 1 0 0 age .3966 .3718 .2316 riagendr*race*age 0 0 0 .3966 .3718 .2316 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0, 'Mex Amer men' riagendr 1 0 race 0 0 1 0 age .3966 .3718 .2316 riagendr*race*age 0 0 0 0 0 0 .3966 .3718 .2316 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0, 'NH white Women' riagendr 0 1 race 1 0 0 0 age .3966 .3718 .2316 riagendr*race*age 0 0 0 0 0 0 0 0 0 0 0 0 .3966 .3718 .2316 0 0 0 0 0 0 0 0 0 0 0 0, 'NH Black Women' riagendr 0 1 race 0 1 0 0 age .3966 .3718 .2316 riagendr*race*age 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .3966 .3718 .2316 0 0 0 0 0 0, 'Mex Amer Women' riagendr 0 1 race 0 0 1 0 age .3966 .3718 .2316 riagendr*race*age 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .3966 .3718 .2316 0 0 0 0 0 0 ; TITLE 'Age-adjusted means & standard errors of body mass index:'; title2 'NHANES 1999-2002'; run; /*gender*/ proc surveyreg data=analysis_data nomcar; STRATA sdmvstra; cluster sdmvpsu; weight wtmec4yr; class riagendr race age; MODEL bmxbmi=riagendr age riagendr*age/noint solution; ESTIMATE 'Males ' riagendr 1 0 age .3966 .3718 .2316 riagendr*age .3966 .3718 .2316 0 0 0 0 0 , 'Females ' riagendr 0 1 age .3966 .3718 .2316 riagendr*age 0 0 0 .3966 .3718 .2316 0 0 ; TITLE 'Age-adjusted means & standard errors of body mass index:'; title2 'NHANES 1999-2002'; run;