version 9 // Case-control data use cc_ex.dta, clear gen double se = (logub - loglb)/(2*invnorm(.975)) vwls logrr dose if logrr != 0, sd(se) noconstant matrix list e(V) glst logrr dose, se(se) cov(n case) cc matrix list e(Sigma) lincom dose*11, eform // Cumulative-incidence data use ci_ex.dta, clear gen double se = (logub - loglb)/(2*invnorm(.975)) glst logrr dose, se(se) cov(n case) ci lincom dose*2, eform // Incidence-rate data use ir_ex.dta, clear gen double se = (logub - loglb)/(2*invnorm(.975)) glst logrr doser, se(se) cov(n case) ir lincom doser*10, eform // Multiple studies use ma_ex.dta, clear glst logrr dose, se(se) cov(n case) pfirst(id study) eform gen types = study == 2 gen doseXtypes = dose*types glst logrr dose doseXtypes, se(se) cov(n case) pfirst(id study) lincom dose + doseXtypes*0, eform lincom dose + doseXtypes*1, eform glst logrr dose doseXtypes, se(se) cov(n case) pfirst(id study) random sjlog close, replace glst logrr dose, se(se) cov(n case) pfirst(id study) eform random