************************************************************************* * Program: C:\NHANES\age_adj_prev_sas.sas * * Proposal: Generate age adjusted prevelance 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+' ; VALUE hbpfmt 1 = 'High BP' 2 = 'No high BP' ; VALUE bpfmt 1 = 'High BP' 0 = 'No high BP' ; VALUE hbp2fmt 100 = 'High BP' 0 = 'No high BP' ; run; DATA ANALYSIS_DATA; SET NH.ANALYSIS_DATA; if ridstatr = 2; ***examined ; age = .; if 20 LE ridageyr LE 39 then age=1; else if 40 LE ridageyr LE 59 then age=2; else if ridageyr GE 60 then age=3; race=.; if ridreth1=3 then race=1; else if ridreth1=4 then race=2; else if ridreth1=1 then race=3; else if ridreth1=2 or ridreth1=5 then race=4; *** code to define mean blood pressure measures and HBP ****; n_sbp = n(of bpxsy1-bpxsy4); n_dbp = n(of bpxdi1-bpxdi4); *Setting DBP values of 0 as missing for calculating average; array _DBP bpxdi1-bpxdi4; do over _DBP; if (_DBP = 0) then _DBP = .; end; mean_sbp = mean(of bpxsy1-bpxsy4); mean_dbp = mean(of bpxdi1-bpxdi4); if BPQ050a=1 then HBP_trt=1; else if BPQ020 in (1,2) and BPQ050a < 7 then HBP_trt=0; if n_sbp>0 and n_dbp>0 then do; if mean_sbp>=140 then SBP140=1; else SBP140=0; if mean_dbp>=90 then DBP90=1; else DBP90=0; end; if HBP_trt>=0 and SBP140>=0 and DBP90>=0 then do; if HBP_trt=1 or SBP140=1 or DBP90=1 then HBP=1; else HBP=2; end; if hbp=1 then hbpx=100; if hbp=2 then hbpx=0; 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 hbpx=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-standardized prevalence of persons 20 years and older with'; title2 'high blood pressure: NHANES 1999-2002'; run;