if "`c(os)'" == "Unix" { global home ~/pdrive/home/teaching/stats } else { global home P:/home/teaching/stats } global filelist auto bpafter bpbefore bplong bpwide myauto myauto2 mybplong cd "$home" foreach file in $filelist { capture erase "datasets/`file'.dta" } // capture rmdir "datasets" cd "$home/1_intro_to_stata" sjlog using solution, replace clear * 2.1 global mydir $home/datasets capture kdir $mydir cd $mydir * 2.2 sysuse auto save $mydir/auto dir clear use auto save myauto * 2.3.1 generate wtkg = weight/2.2046 label variable wtkg "Weight (kg)" * 2.3.2 generate short = 0 replace short = 1 if length < 190 generate short2 = (length < 190) tab short short2 * 2.3.3 egen wtt = cut(weight), group(3) label variable wtt "Tertiles of weight" tab wtt label def tertiles 0 "Lowest tertile" 1 "Middle tertile" 2 "Highest tertile" label values wtt tertiles tab wtt tab make * 2.3.4 gen str20 company = substr(make, 1, index(make, " ")) tab company replace company = make if company == "" save, replace * 2.4 sysuse bplong save $mydir/bplong preserve keep if when == 1 save $mydir/bpbefore restore keep if when == 2 save "$mydir/bpafter" * 2.4.1 use bpbefore, clear gen fromfile = 1 append using bpafter replace fromfile = 2 if fromfile == . tab fromfile when label variable fromfile "Whether the measurement is a before or after" label define fromfile 1 "Before" 2 "After" label values fromfile fromfile * 2.4.2 save mybplong use bpbefore, clear rename bp bp_before save, replace use bpafter rename bp bp_after save, replace use bpbefore sort patient save, replace use bpafter sort patient save, replace merge patient using bpbefore tab _merge save bpwide * 2.5.1 use myauto gen lengthm = length*0.0254 * 2.5.2 gen heavy = weight > 3000 if weight < . tab heavy * 2.5.3 egen wtpt = cut(weight), group(3) tab wtt wtpt * 2.5.4 egen comp2 = ends(make), head tab comp2 save myauto2 * 2.5.5 use bpwide gen bpdiff = bp_after - bp_before * 2.5.6 egen gsex = group(sex agegrp) tab gsex sjlog close, replace