program define tester version 2.1 if "%_3"=="" | "%_4"!="" { di di "tester " di " number of replications (e.g, 1000)" di " number of obs in sample data set" di " ado-file to generate random vars di " " #delimit ; di "tester runs replications of data sets of size containing" _n "random variables created by . Calculations are made by sktest," _n "simple, and amstat of the normality of the result. A data set is left" _n "containing the results the chi-square values and significance levels." ; #delimit cr exit 198 } confirm integer number %_1 confirm integer number %_2 quietly { set more 1 drop _all mac def _i 1 log using result, replace while %_i <= %_1 { drop _all set obs %_2 %_3 u /* create random variable */ sktest2 u, quiet simple u, quiet amstat u, quiet di "%sktest %simple %amstat" mac def _i = %_i + 1 } log close drop _all infile sktest simple amstat using result.log gen sk = chiprob(2,sktest) gen si = chiprob(2,simple) gen am = chiprob(2,amstat) label var sktest "chi-2 reported by sktest" label var simple "chi-2 reported by simple" label var amstat "chi-2 reported by amstat" label var sk "sig. reported by sktest" label var si "sig. reported by simple" label var am "sig. reported by amstat" label data "random vars from %_3" } end