log using "multiple_imputation.log", replace local defmod : env suffix local datain : env DATAIN local bsamp : env BREP local extval : env EXTVAL quietly include ../../fem_env.do use "`datain'" include hrs_covariate_definitions`defmod'.do include define_models`defmod'.do global srclib "multiple_imputation/srclib/stata" global name "impute" local ster ../Estimates/mi_totcog/ keep if wave >= 5 drop if missing(l2proxy) sort hhidpn wave keep l4totcog l2totcog confirmed_admci_ever rbyr rbmonth raedyrs educ male black hispan rafeduc rameduc college l2age l2proxy l2lang_eng l2married l2widowed l2nhmliv /// l2hitot l2shlt l2past_shlt l2hibpe l2hearte l2stroke l2diabe l2diaberx l2vision l2vision_distal l2vision_near l2hearing l2nagi1_-l2nagi12_ /// hhidpn wave /// died nhmliv adlstat iadlstat totcog /// hsless male_hsless male_black male_hispan l2age65l l2age6574 l2age75p l2cancre l2lunge l2hearta l2iadl1 l2iadl2p l2adl1 l2adl2 l2adl3p l2smoken /// fheart50 fstrok50 fcanc50 fhibp50 fdiabe50 flung50 fsmokev fsmoken50 l2chfe /// l2wlth_nonzero l2loghatotax l2nhmliv logdeltaage /// l2logbmi_l30 l2logbmi_30p flogbmi50_l30 flogbmi50_30p /// l2work smokev l2died l2proxy_limitcog /// l2nhmliv l2jyears l2memrye l2selfmem l2helphoursyr /// l2cogstate l2selfmem1 l2selfmem2 replace rafeduc = . if rafeduc==-999 replace rameduc = . if rameduc==-999 foreach x in l2proxy_limitcog l2lang_eng l2past_shlt l2vision l2vision_distal l2vision_near l2hearing l2nagi1_ l2nagi2_ l2nagi3_ l2nagi4_ l2nagi5_ l2nagi6_ l2nagi7_ l2nagi8_ l2nagi9_ l2nagi10_ l2nagi11_ l2nagi12_ { replace `x' = . if `x'==99 } gen l2age2 = l2age*l2age gen l2age3 = l2age*l2age*l2age gen l2loghitot = log(l2hitot) gen l2loghelphoursyr = log(l2helphoursyr) drop l2hitot l2helphoursyr label val hispan label val raedyrs label val rameduc label val rafeduc label val nhmliv label val adlstat label val iadlstat label val smokev label val l2selfmem label val l2cogstate save mydata.dta, replace do $srclib/impute use mydata.dta, clear sort hhidpn wave gen _OBS_ = _n gen _MULT_=0 append using impute.dta save impute_for_analysis.dta, replace mi import flong, m(_MULT_) id(_OBS_) mi describe mi varying mi register imputed rameduc rafeduc l2diaberx l2totcog confirmed_admci_ever l2past_shlt l2vision l2vision_distal l2vision_near l2hearing l2nagi1_ l2nagi2_ l2nagi3_ l2nagi4_ l2nagi5_ l2nagi6_ l2nagi7_ l2nagi8_ l2nagi9_ l2nagi10_ l2nagi11_ l2nagi12_ l4totcog l2work l2proxy_limitcog l2selfmem drop _MULT_ _OBS_ mi describe mi varying gen l2totcog_sqr = l2totcog*l2totcog mkspline l2totcog_de 7 l2totcog_mci 12 l2totcog_nor1 20 l2totcog_nor2 = l2totcog mi convert wide, clear save impute_for_analysis.dta, replace foreach n of varlist died { local x = "allvars_`n'" mi estimate, post dots: probit `n' $`x' l2totcog if `select_`n'' est save "`ster'/`n'.ster", replace } foreach n of varlist nhmliv { local x = "allvars_`n'" mi estimate, post dots: probit `n' $`x' l2totcog if `select_`n'' est save "`ster'/`n'.ster", replace } foreach n of varlist adlstat iadlstat { local x = "allvars_`n'" mi estimate, post dots: oprobit `n' $`x' l2totcog if `select_`n'' est save "`ster'/`n'.ster", replace } foreach n of varlist totcog { local x="allvars_`n'" mi estimate, post dots: oprobit `n' $`x' confirmed_admci_ever l2logbmi_l30 l2logbmi_30p logdeltaage if `select_`n'' est save "`ster'/`n'.ster", replace } /* linear totcog foreach n of varlist totcog { local x="allvars_`n'" mi estimate, post dots: regress `n' $`x' if `select_`n'' est save "`ster'/`n'.ster", replace } */ log close