*! version 2.3 19Nov2018 program stpm2cr_pred_csh, sortpreserve eclass version 14.1 syntax newvarname [if] [in], [CIF Hazard XB DXB /// AT(string) CONtrast(string) /// REFerence(string) SURVival /// CI LEVel(real `c(level)') TIMEvar(varname) STDP CIFRATIO /// Nodes(int 100) quadopt(string) zeros RMLat(numlist >0 integer) GRAPHrml] local newvarname `varlist' local causeNames `e(causeNames)' di in red "Note that post-estimation for these models is still in beta" ereturn local predict stpm2cr_pred_csh marksample touse, novarlist qui count if `touse' if r(N)==0 { error 2000 /* no observations */ } if "`rmlat'" != "" { local rmltmp "rmltmp" } if wordcount(`"`cif' `hazard' `xb' `survival' `rmltmp'"') > 1 { display as error "You have specified more than one option for predict" exit 198 } if "`rml'"!="" & "`rmltime'"=="" { di as error "Must specify numlist in rmltime() when using rml option" exit 198 } if wordcount(`"`cif' `hazard' `xb' `rmltmp' `survival'"') == 0 { display as error "You must specify one of the predict options" exit 198 } if "`hazard'" != "" | "`xb'" != "" | "`survival'" != "" { foreach cause in `causeNames' { qui estimates restore `cause' local string "`0'" gettoken del opts : string, parse(",") stpm2_pred `newvarname'_`cause' `opts' } } else { if "`timevar'" == "" { local timevar _t } stpm2cifgq `newvarname', timevar(`timevar') at(`at') rmlat(`rmlat') `ci' `graphrml' nodes(`nodes') quadopt(`quadopt') modelnames(`causeNames') `cif' } ereturn local predict stpm2cr_pred_csh ereturn local causeNames `causeNames' end /* stpm2cifgq `newvarnames', timevar(`timevar') at(`at') rml(`rmlat') `ci' `graphrml' models(`e(causeNames)') */