*! v 1.0.0 PR 16-Oct-94. (sg26.3: STB-25) program define fpshow version 3.1 local state0 = "$S_E_fp"=="" & "$S_E_fp2"=="" local state1 = "$S_E_fp"=="fp" & "$S_E_fp2"=="fp" local state2 = "$S_E_fp"=="fp" & "$S_E_fp2"=="" if `state0' { error 301 } if "`*'"=="" | "`*'"=="," { di _n in gr "Model number" in ye %3.0f $FP_curr _n in gr _dup(15) "-" _jprfprp if `state2' { global S_E_fp2 } /* reassert state 2 */ exit } local options "MODel(int 0) Best Info MONotonic Devdiff(real 0)" local star "`*'" parse "`*'" local nm "$FP_nmod" if `devdiff'!=0 | "`monoton'`info'"!="" { if `model'>0 | "`best'"!="" { di in red "invalid combination of options" exit 198 } cap confirm integer num `nm' if _rc { di in red "only 1 model available---type fp to display it" exit 198 } di in gr _n "Model #" _col(10) "Powers Monotonic?" /* */ _col(29) "Deviance" /* */ _col(41) "Dev.diff." _n _dup(49) "-" local dvbest ${FP_dv${FP_best}} local j 1 while `j'<=`nm' { local dd=${FP_dv`j'}-`dvbest' if `devdiff'>0 { local filter=`dd'>`devdiff' } else if `devdiff'<0 { local filter=`dd'<-`devdiff' } else local filter 1 if `filter' { local pwrs "${FP_pw`j'}" if "${FP_fixp}"!="" { local pwrs "${FP_fixp},`pwrs'" } local np 0 parse "`pwrs'", parse(" ,") while "`1'"!="" { if "`1'"=="," { mac shift } local np=`np'+1 local p`np' `1' mac shift } if `np'>2 { local mono " --" } else local mono "Yes" if `np'==2 { _jprfptp `p1' `p2' ${FP_ga`j'} if $S_26!=. { local mono " No" } } if "`monoton'"=="" |("`monoton'"!=""&"`mono'"=="Yes") { di in gr %3.0f `j' _col(10) in ye "`pwrs'" /* */ _col(22) "`mono'" /* */ _col(28) in ye %9.3f ${FP_dv`j'} /* */ _col(40) in ye %9.3f `dd' _cont if `j'==$FP_best { di in gr " *" _cont } if `j'==$FP_curr { di in gr " +" _cont } di } } local j=`j'+1 } di _n in gr "Current model (+); model with lowest deviance (*)." exit } if "`best'"!="" & `model'>0 { di in red "best invalid with model" exit 198 } if `state1' { /* State 1---construct new FP command and execute it. */ local search = $S_E_srch & !$S_E_lin if !`search' | `model'==0 | `model'==$FP_best { fpshow exit } if `model'>`nm' | `model'<0 { di in red "model # invalid" exit 198 } if "${S_E_base}"!="" { local base "base(${S_E_base})" } if "${S_E_cont}"!="" { local cont "continu(${S_E_cont})" } if "${S_E_xpx}"!="" { local expx "expx(${S_E_xpx})" } if "${S_E_x}"!="" { local name "name(${S_E_x})" } if "${S_E_fpop}"!="" { local opt "${S_E_fpop}" } if "${S_E_orig}"!="" & "`expx'"=="" { local origin "origin(${S_E_orig})" } local cmd "cmd(${S_E_cmd})" local exp $S_E_exp local fixp "$S_E_fixp" local if $S_E_if local in $S_E_in local rhs $S_E_rhs local y $S_E_depv local zero $S_E_zero estimate hold fpres di _n in gr "Model number" in ye %3.0f `model' _n in gr _dup(15) "-" fp `y' `rhs' `if' `in' `exp', `cmd' powers(none) `opt' `zero' /* */ `base' /* */ fixpowers(${FP_pw`model'} `fixp') `cont' `expx' `name' `origin' global S_E_fp2 /* declare state 2 */ global FP_curr `model' } else if `state2' { if `model'==$FP_curr { fpshow exit } estimate unhold fpres global S_E_fp2 "fp" /* declare state 1 */ if "`best'"!="" | `model'==$FP_best { global FP_curr $FP_best fpshow } else { global FP_curr `model' fpshow "`star'" } } end