征求作者南京医科大学张汝阳同意后,将他写的tabauto 发布,在此感谢计量经济版各位朋友老师,同时感谢张汝阳同志!
program drop _all
program define tabauto,rclass/*this is the sub_program for frept,only for rawdata*/
syntax varlist(min=2) [in] [if],[missing]
token "`varlist'"
local r_var="`1'"
local c_var="`2'"
qui tab `r_var' `c_var' `if' `in' `byoption',chi2
qui sum fre_q
local sample=`r(sum)'
tempvar rowsum colsum
egen `rowsum'=total(fre_q),by(`r_var')
egen `colsum'=total(fre_q),by(`c_var')
qui sum `rowsum'
local rowmin=`r(min)'
qui sum `colsum'
qui local colmin=`r(min)'
local min_t=(`rowmin'*`colmin')/`sample'/*theoretical frequence*/
restore,preserve
if (`min_t'<1 | `sample'<40){
return local exact_auto="e"
}
else{
return local exact_auto=""
}
}
end