*! version 0.2.3 13Apr2005 * version 0.2.2 2005-03-29 stata 9 bug for aux parameters * version 0.2.1 2005-03-25 fixed long varlist bug * version 0.2.0 2005-02-03 * determine if model has a constant in it capture program drop _penocon program define _penocon, rclass version 9.0 tempname beta matrix `beta' = e(b) local nbeta = colsof(`beta') local names : colnames `beta' local tmpnms : subinstr local names `"_cons"' `"dog"', all count(local count) local isnocon = 1 - `count' // binary if "`e(cmd)'"=="cloglog" { local isnocon = `isnocon' } if "`e(cmd)'"=="logistic" { local isnocon = `isnocon' } if "`e(cmd)'"=="logit" { local isnocon = `isnocon' } if "`e(cmd)'"=="probit" { local isnocon = `isnocon' } // ordered : nocon not allowed if "`e(cmd)'"=="ologit" { local isnocon = 0 } if "`e(cmd)'"=="oprobit" { local isnocon = 0 } if "`e(cmd)'"=="gologit" { local isnocon = 0 } // count if "`e(cmd)'"=="poisson" { local isnocon = `isnocon' } if "`e(cmd)'"=="nbreg" { local nrhs = e(df_m) local nbeta = `nbeta' - 1 // subtract alpha local isnocon = (`nrhs'==`nbeta') } if "`e(cmd)'"=="zinb" { local tmpnms : subinstr local names `"_cons"' `"dog"', all count(local count) local isnocon = (`count'<3) } if "`e(cmd)'"=="zip" { local tmpnms : subinstr local names `"_cons"' `"dog"', all count(local count) local isnocon = (`count'<2) } // regression models if "`e(cmd)'"=="regress" | "`e(cmd)'"=="fit" { local isnocon = `isnocon' } if "`e(cmd)'"=="tobit" { * stata 9 includes auxillary parameters as a second equation local isnocon = (`count'==1) } if "`e(cmd)'"=="cnreg" { local isnocon = (`count'==1) } if "`e(cmd)'"=="intreg" { local isnocon = (`count'==1) } // nominal if "`e(cmd)'"=="mlogit" { _perhs local nrhs = r(nrhs) local ncatm1 = e(k_cat) - 1 local isnocon = (`nrhs'*`ncatm1'==`nbeta') } // return results return local nocon "`isnocon'" end