
use "lecture5-1.dta", clear

set more off

gen logcold = log(cold_isc+1)
label var cold_isc "Cold Ischemia Time (Hours)"

* Slide 15
reg cold_isc death txtype i.hlam age_don age year

* Slide 11
mi set mlong
* Slide 12
mi register imputed cold_iscmi register regular death hlamat age_don age year

* Slides 14 and 16
mi impute regress cold_isc hlamat age_don age death year prevtx txtype , add(20) rseed(123)

* Slide 17 
tabulate _mi_m

* Slides 18 and 19
mi estimate, eform: logistic death cold_isc age_don age year prevtx txtype i.hlamat

* Slide 20
mi xeq 0: hist cold_isc, freq scheme(s1color)

/*

	Key Step if we're going to do more imputations -- gotta throw
	away the old imputation and start with the original dataset first
	
	Command below throws out all imputations and starts over

*/

capture mi extract 0, clear

* Slides 21 and 22

mi set mlong
mi register imputed logcold
mi register regular death hlamat age_don age year
mi impute regress logcold hlamat age_don age  prevtx death txtype , add(20) rseed(345)
gen coldisc2 = exp(logcold)-1
mi estimate, eform: logistic death coldisc2 age_don age year prevtx txtype i.hlamat 

/*

	Key Step if we're going to do more imputations -- gotta throw
	away the old imputation and start with the original dataset first
	
	Command below throws out all imputations and starts over

*/

* Slides 23 and 24

mi extract 0, clear
mi set mlong
mi register imputed cold_iscmi register regular death hlamat age_don age year

mi impute pmm cold_isc hlamat age_don age death year prevtx txtype , add(20) rseed(567)
mi estimate, eform: logistic death cold_isc age_don age year prevtx txtype i.hlamat

* Slide 27: this would delete the data -- not going to do it. Would be 
* mi extract 10, clear
* logistic death cold_isc age_don age year prevtx txtype i.hlamat
* Same results can be gotten in slide 29 without losing all other imputations

* Slide 28
mi xeq 10: summ cold_isc

* Slide 29
mi xeq 10: logistic death cold_isc age_don age year prevtx txtype i.hlamat

* Slides 31 and 32 were gotten by using linear regression for imputation

* Slide 31: mi impute regress cold_isc hlamat age_don age death year prevtx txtype , add(50) rseed(123)
* Slide 32: mi impute regress cold_isc hlamat age_don age death year prevtx txtype , add(500) rseed(123)

* Slide 33 
mi xeq 0: logistic death cold_isc age_don age year prevtx txtype i.hlamat

/*

	Read in Dataset with Multiple Missing Values

*/
use "lecture5-2.dta", clear
* Slide 38
summ

mi set mlong

* Slide 42
mi register imputed hlamat age_don age cold_isc prevtx death txtype
* Slides 43/44
mi impute chained (pmm) cold_isc (ologit) hlamat (regress) age_don (regress) age (logit) prevtx = death txtype, add(20) rseed(897) dots

* Slide 45
mi estimate, or: logistic death cold_isc age_don age prevtx txtype i.hlamat
