*! akapm.ado 3/29/93 (STB-19: ssa3) program define akapm version 3.0 local options /* */ "WIth(string) BY(string) L1title(string) OFfset Symbol(string) Title(string) YLAbel(string) *" local varlist "req ex min(2) max(2)" local if "opt" local in "opt" local weight "iweight aweight fweight" parse "`*'" parse "`varlist'", parse(" ") local time "`1'" local died "`2'" tempvar ratio dd if ("`died'"=="") { tempvar dd local died `dd' gen byte `dd' = 1 } if "`by'"!="" { qui tab(`by') , gen(__g) local ggg "__g*" local by "by(`by')" } qui cox `time' `with' `ggg' `if' `in' [`weight'`exp'], dead(`died') cap drop __g* parse "`with'", parse(" ") qui gen `ratio' = 1 while ("`1'"!="") { qui summ `1' [`weight'`exp'] qui replace `ratio' = `ratio'/exp(_b[`1']*(`1'-_result(3))) mac shift } if "`title'"!="" { local title "title(`title')" } else if "`with'"!="" { local title "title( Adjusted Kaplan-Meier Survival)" } else local title if "`l1title'"=="" { local l1title "Survival Probability" } if "`offset'"=="" { local myaxis "noaxis xline(0) yline(0)" } if "`ylabel'"=="" { local ylabel "ylab(0,.25,.5,.75,1)" } else if "`ylabel'"=="." { local ylabel } else local ylabel "ylabel(`ylabel')" if "`symbol'"=="" { local symbol "STD" } _wkapm `time' `died' [iw=`ratio'], `by' l1title("`l1title'") `offset' symbol(`symbol') `title' `ylabel' `options' end