*! version 3.1.1 PR 09-Sep-94. (sg26.3: STB-25) program define fpgraph version 3.1 if "$S_E_fp"!="fp" { error 301 } local cmd "$S_E_cmd" if "`cmd'"=="mlogit" | $S_E_bloc | ${S_E_dist}==4 { di in bl _n "(graph not yet supported for `cmd')" exit } #delimit ; local options "Symbol(string) Connect(string) T1title(string) DResid(string) ETa(string) noGRaph noPTs *" ; #delimit cr parse "`*'" local dist $S_E_dist local y "$S_E_depv" local x "$S_E_x" local rhs "$S_E_rhs" local xp "$S_E_xp" local exp "$S_E_exp" local base "$S_E_base" local powers $S_E_pwrs global S_E_vl "`xp' `base'" global S_E_cmd "logistic" tempvar etahat yv dr mu predict `etahat' if `x'!=., xb quietly { gen `yv' = `y' if `x'!=. gen `dr' = . gen `mu' = . _jprfpre `dist' `yv' `etahat' `mu' `dr' "`exp'" /* Component-plus-(partial) residual plot */ if "`base'"!="" { tempvar cmpnt local adj ", adjusted for base variables" sum `etahat' local ebar = _result(3) parse "`xp'",parse(" ") gen `cmpnt' = _b[`1']*`1' mac shift while "`1'"!=""{ replace `cmpnt'=`cmpnt'+_b[`1']*`1' mac shift } sum `cmpnt' replace `etahat' = `cmpnt'+`ebar'-_result(3) } replace `yv' = `etahat'+`dr' } if "`t1title'"=="" { local t1title "Fractional Polynomial (`powers')`adj'" } if "`pts'"=="" { lab var `yv' "Component+residual for `y'" if "`symbol'"=="" { local symbol "oi" } if "`connect'"=="" { local connect ".s" } } else { lab var `etahat' "Fitted component" drop `yv' local yv if "`symbol'"=="" { local symbol "i" } if "`connect'"=="" { local connect "s" } } if "`graph'"=="" { graph `yv' `etahat' $S_E_rhs, t1title("`t1title'") /* */ s(`symbol') c(`connect') `options' } if "`eta'"!="" { confirm new var `eta' rename `etahat' `eta' } if "`dresid'"!="" { confirm new var `dresid' rename `dr' `dresid' } global S_E_cmd "`cmd'" end