****pgm: pop_totals.do******** ** down load (parmest, save)package dm65 dm65 from http://www.stata.com/stb/stb49*** ***the update dm65_1 http://www.stata.com/stb/stb58 does not work with this program!**** use "C:\NHANES\Data\analysis_data.dta", clear ***create variable codes***** gen age=1 if ridageyr >=20 & ridageyr <40 replace age=2 if ridageyr >=40 & ridageyr <60 replace age=3 if ridageyr >=60 & ridageyr <. gen race=1 if ridreth1==3 replace race=2 if ridreth1==4 replace race=3 if ridreth1==1 replace race=4 if ridreth1==2 | ridreth1==5 *code to define mean blood pressure measures gen n_sbp= !missing(bpxsy1)+ !missing(bpxsy2)+ !missing(bpxsy3)+ !missing(bpxsy4) gen n_dbp= !missing(bpxdi1)+ !missing(bpxdi2)+ !missing(bpxdi3)+ !missing(bpxdi4) replace bpxdi1=. if bpxdi1==0 replace bpxdi2=. if bpxdi2==0 replace bpxdi3=. if bpxdi3==0 replace bpxdi4=. if bpxdi4==0 egen mean_sbp = rowmean(bpxsy1 bpxsy2 bpxsy3 bpxsy4) egen mean_dbp = rowmean(bpxdi1 bpxdi2 bpxdi3 bpxdi4) gen hbp_trt=1 if bpq050a==1 replace hbp_trt=0 if hbp_trt !=1 & (bpq020==1 | bpq020==2) gen sbp140=1 if mean_sbp>=140 & mean_sbp<. & ((n_sbp >0 & n_sbp <.) & (n_dbp >0 & n_dbp <.)) replace sbp140=0 if sbp140 !=1 & ((n_sbp >0 & n_sbp <.) & (n_dbp >0 & n_dbp <.)) gen dbp90=1 if mean_dbp>=90 & mean_dbp<. & ((n_sbp >0 & n_sbp <.) & (n_dbp >0 & n_dbp <.)) replace dbp90=0 if dbp90 !=1 & ((n_sbp >0 & n_sbp <.) & (n_dbp >0 & n_dbp <.)) gen hbp=1 if (hbp_trt==1 | sbp140==1 | dbp90==1) & ((hbp_trt>=0 & hbp_trt<.) & (sbp140>=0 & sbp140<.) & (dbp90>=0 & dbp90<.)) replace hbp=2 if hbp !=1 & ((hbp_trt>=0 & hbp_trt<.) & (sbp140>=0 & sbp140<.) & (dbp90>=0 & dbp90<.)) gen hbpx=100 if hbp==1 replace hbpx=0 if hbp==2 ****format variables****** label define agefmt 1 "20-39" label define agefmt 2 "40-59", add label define agefmt 6 "60+", add label define racefmt 1 "NH White", label define racefmt 2 "NH Black", add label define racefmt 3 "Mex American", add label define racefmt 4 "Other race/ethn", add label define sexfmt 1 "male" label define sexfmt 2 "female", add label values age agefmt label values riagendr sexfmt label values race racefmt log using "c:\NHANES\Log\pop_totals.log", replace ***************************************************************************************************** ****specify survey design variables**** svyset sdmvpsu [pweight=wtmec4yr], strata(sdmvstra) vce(linearized) quietly svy, subpop(if ridageyr >=20 & ridageyr <.): mean hbpx estat size parmest, saving("c:\NHANES\Data\popmean1", replace) quietly svy, subpop(if ridageyr >=20 & ridageyr <.): mean hbpx, over(riagendr) estat size parmest, saving("c:\NHANES\Data\popmean2", replace) quietly svy, subpop(if ridageyr >=20 & ridageyr <.): mean hbpx, over(race) estat size parmest, saving("c:\NHANES\Data\popmean3", replace) quietly svy, subpop(if ridageyr >=20 & ridageyr <.): mean hbpx, over(riagendr race) estat size parmest, saving("c:\NHANES\Data\popmean4", replace) ************************************************************************************************************************** ***create race and gender variables from output datasets so that estimates can be merged to control totals output dataset* ************************************************************************************************************************** use "c:\NHANES\Data\popmean1", clear gen riagendr=0 gen race=0 drop parm save "c:\NHANES\Data\popmean1", replace use "c:\NHANES\Data\popmean2", clear gen riagendr=1 if parm=="male" replace riagendr=2 if parm=="female" gen race=0 drop parm save "c:\NHANES\Data\popmean2", replace use "c:\NHANES\Data\popmean3", clear gen riagendr=0 gen race=1 if parm=="_subpop_1" replace race=2 if parm=="_subpop_2" replace race=3 if parm=="_subpop_3" replace race=4 if parm=="_subpop_4" drop parm save "c:\NHANES\Data\popmean3", replace use "c:\NHANES\Data\popmean4", clear gen riagendr=1 if parm=="_subpop_1" | parm== "_subpop_2" | parm== "_subpop_3" | parm== "_subpop_4" replace riagendr=2 if parm=="_subpop_5" | parm== "_subpop_6" | parm== "_subpop_7" | parm== "_subpop_8" gen race=1 if parm=="_subpop_1" | parm== "_subpop_5" replace race=2 if parm=="_subpop_2" | parm== "_subpop_6" replace race=3 if parm=="_subpop_3" | parm== "_subpop_7" replace race=4 if parm=="_subpop_4" | parm== "_subpop_8" save "c:\NHANES\Data\popmean4", replace ******combine into one dataset ********* use "c:\NHANES\Data\popmean1", clear append using "C:\NHANES\Data\popmean2" append using "C:\NHANES\Data\popmean3" append using "C:\NHANES\Data\popmean4" sort riagendr race save "c:\NHANES\Data\popmeans", replace *********************************************************************************************************************** ****Combine population control totals by gender and race ethnic groups from provided CPS dataset (cpstot9902)******** *********************************************************************************************************************** use "C:\NHANES\Data\cpstot9902.dta", clear collapse (sum) ctutpopt if ctutage >=20, save "C:\NHANES\Data\tot9902a", replace use "C:\NHANES\Data\cpstot9902.dta", clear collapse (sum) ctutpopt if ctutage >=20, by(ctutgndr) save "C:\NHANES\Data\tot9902b", replace use "C:\NHANES\Data\cpstot9902.dta", clear collapse (sum) ctutpopt if ctutage >=20, by(ctutrace) save "C:\NHANES\Data\tot9902c", replace use "C:\NHANES\Data\cpstot9902.dta", clear collapse (sum) ctutpopt if ctutage >=20, by(ctutgndr ctutrace) save "C:\NHANES\Data\tot9902d", replace ***combine into one dataset**** use "C:\NHANES\Data\tot9902a", clear append using "C:\NHANES\Data\tot9902b" append using "C:\NHANES\Data\tot9902c" append using "C:\NHANES\Data\tot9902d" rename ctutgndr riagendr rename ctutrace race replace riagendr=0 if riagendr==. replace race=0 if race==. sort riagendr race save "C:\NHANES\Data\poptot9902", replace ******************************************************************************************** ***merge population estimates and population control totals ******************************************************************************************** use "C:\NHANES\Data\popmeans", clear merge riagendr race using "C:\NHANES\Data\poptot9902.dta" gen est=round(estimate,.01) gen se=round(stderr,.01) gen ll=round(min95,.01) gen ul=round(max95,.01) gen popmean=(est/100)*ctutpopt gen popl=(ll/100)*ctutpopt gen popu=(ul/100)*ctutpopt gen popmeanr=round(popmean,1000) gen poplr=round(popl,1000) gen popur=round(popu,1000) gen poptot_r =round(ctutpopt,1000) label values riagendr sexfmt label values race racefmt save "C:\NHANES\Data\popmeans", replace label define racefmt 0 "Total", label define racefmt 1 "NH White", add label define racefmt 2 "NH Black", add label define racefmt 3 "Mex American", add label define racefmt 4 "Other race/ethn", add label define sexfmt 0 "Total" label define sexfmt 1 "male", add label define sexfmt 2 "female", add label values riagendr sexfmt label values race racefmt format est se ll ul poptot_r popmeanr poplr popur %5.2f list riagendr race est se ll ul poptot_r popmeanr poplr popur, clean log close