***************************************** * Examine how relationship between smoking and mortality change by age ***************************************** clear set more off set mem 500m global outdata "//zeno/zeno_a/DOL/Output_Dec/51p" /* foreach y in 2050{ use "$outdata/status_quo/51p_sstatus_quo_y`y'_rep1.dta keep entry hhidpn fsmokev fsmoken pdied foreach x in fsmokev fsmoken pdied { ren `x' `x'_s } sort entry hhidpn save tmp, replace use "$outdata/smk80/51p_ssmk80_y`y'_rep1.dta keep entry hhidpn age fsmokev fsmoken pdied wtresp sort entry hhidpn merge entry hhidpn using tmp tab _merge tabstat pdied pdied_s if (fsmokev_s == 0) & (fsmokev == 1) [aw = wtresp] , by(age) erase tmp.dta } use "\\Zeno\zeno_a\DOL\Output_Dec\5152\status_quo50\5152_sstatus_quo50_y2004_rep1.dta", clear keep hhidpn fsmoken fsmokev foreach x in fsmokev fsmoken{ ren `x' `x'_s } sort hhidpn save tmp, replace use "\\Zeno\zeno_a\DOL\Output_Dec\5152\smk80_50\5152_ssmk80_50_y2004_rep1.dta", clear keep hhidpn fsmoken fsmokev sort hhidpn cap drop _merge sort hhidpn, stable merge hhidpn using tmp tab _merge drop _merge keep if fsmokev ==1 & fsmokev_s == 0 tab fsmokev keep hhidpn sort hhidpn save tmp, replace use "\\Zeno\zeno_a\DOL\Output_Dec\5152\status_quo50\5152_sstatus_quo50_y2006_rep1.dta" foreach y in 2010 2030 2050 { append using "\\Zeno\zeno_a\DOL\Output_Dec\5152\status_quo50\5152_sstatus_quo50_y`y'_rep1.dta" } cap drop _merge sort hhidpn, stable merge hhidpn using tmp tab _merge keep if _merge == 3 tabstat pdied [aw = weight], by(year) use "\\Zeno\zeno_a\DOL\Output_Dec\5152\smk80_50\5152_ssmk80_50_y2006_rep1.dta" ,clear foreach y in 2010 2030 2050 { append using "\\Zeno\zeno_a\DOL\Output_Dec\5152\smk80_50\5152_ssmk80_50_y`y'_rep1.dta" } cap drop _merge sort hhidpn merge hhidpn using tmp tab _merge keep if _merge == 3 tabstat pdied [aw = weight], by(year) ************* * 2050 cohort ************* use "\\Zeno\zeno_a\DOL\Output_Dec\5152\status_quo50\5152_sstatus_quo50_y2006_rep1.dta" keep year hhidpn fsmokev fsmoken died pdied save tmp,replace forvalues i = 2008(2)2054 { use "\\Zeno\zeno_a\DOL\Output_Dec\5152\status_quo50\5152_sstatus_quo50_y`i'_rep1.dta" keep year hhidpn fsmokev fsmoken died pdied append using tmp save tmp,replace } foreach x in fsmokev fsmoken died pdied { ren `x' `x'_o } cap drop _merge sort year hhidpn, stable save status_tmp, replace use "\\Zeno\zeno_a\DOL\Output_Dec\5152\smk80_50\5152_ssmk80_50_y2006_rep1.dta" keep year hhidpn fsmokev fsmoken died pdied age weight save tmp,replace forvalues i = 2008(2)2054 { use "\\Zeno\zeno_a\DOL\Output_Dec\5152\smk80_50\5152_ssmk80_50_y`i'_rep1.dta" keep year hhidpn fsmokev fsmoken died pdied age weight append using tmp save tmp,replace } foreach x in fsmokev fsmoken died pdied { ren `x' `x'_s } sort year hhidpn, stable cap drop _merge merge hhidpn year using status_tmp, sort tab _merge */ ************* * 2004 cohort ************* global datadir "/zeno/d/zeno_a/DOL/Output_Dec/5152/status_quo04/" forvalues r = 1/10 { use "$datadir/5152_sstatus_quo04_y2004_rep`r'.dta" keep if white == 1 keep year hhidpn fsmokev fsmoken male died weight save tmp,replace forvalues i = 2006(2)2054 { use "$datadir/5152_sstatus_quo04_y`i'_rep`r'.dta" keep if white == 1 keep year hhidpn fsmokev fsmoken male died pdied weight append using tmp save tmp,replace } gen pop = 1 if died == 0 collapse (sum) pop (mean) died pdied [pw = weight], by(fsmokev fsmoken male year) gen rep = `r' save tmp`r',replace erase tmp.dta } use tmp1.dta erase tmp1.dta forvalues i = 2/10{ append using tmp`i'.dta erase tmp`i'.dta } collapse pop died pdied, by(fsmokev fsmoken male year) expand 2 gen year_old = year gen pop_old = pop sort fsmokev fsmoken male year, stable by fsmokev fsmoken male : gen seq = _n replace year = year + 1 if mod(seq,2) == 0 replace pop = pop[_n-1]/2 + pop[_n+1]/2 if mod(seq,2) == 0 sort fsmokev fsmoken male year, stable list year year_old pop pop_old if fsmokev == 1 & fsmoken == 0 & male == 1 drop if year >= 2054 save "$datadir/mortality_smkstat.dta", replace sort fsmokev fsmoken male year, stable by fsmokev fsmoken male : gen st = pop/pop[1] by fsmokev fsmoken male : gen suble = sum(pop) by fsmokev fsmoken male : gen le = (suble[_N]-suble + pop)/pop[1] gen age = 51 + year - 2004 sort fsmokev fsmoken male age, stable gen smkstat = 1 if fsmokev == 0 & fsmoken == 0 replace smkstat = 2 if fsmokev == 1 & fsmoken == 0 replace smkstat = 3 if fsmokev == 1 & fsmoken == 1 keep st smkstat age male le reshape wide st le, i(age male) j(smkstat) sort male age, stable outsheet male age le* using "$datadir/mortality_smkstat_gender.csv", replace comma nol exit ************* * 2004 cohort ************* global datadir "/zeno/d/zeno_a/DOL/Output_Dec/5152/status_quo04/" forvalues r = 1/10 { use "$datadir/5152_sstatus_quo04_y2004_rep`r'.dta" keep year hhidpn fsmokev died weight save tmp,replace forvalues i = 2006(2)2054 { use "$datadir/5152_sstatus_quo04_y`i'_rep`r'.dta" keep year hhidpn fsmokev died pdied weight append using tmp save tmp,replace } gen pop = 1 if died == 0 collapse (sum) pop (mean) died pdied [pw = weight], by(fsmokev year) gen rep = `r' save tmp`r',replace erase tmp.dta } use tmp1.dta erase tmp1.dta forvalues i = 2/10{ append using tmp`i'.dta erase tmp`i'.dta } collapse pop died pdied, by(fsmokev year) sort fsmokev year, stable by fsmokev: gen st = pop/pop[1] gen age = 51 + year - 2004 sort fsmokev age, stable gen smkstat = 0 if fsmokev == 0 replace smkstat = 1 if fsmokev == 1 keep st smkstat age reshape wide st, i(age) j(smkstat) outsheet age st* using "$datadir/mortality_smkstat.csv", replace comma nol