*! version 1.1.0 17oct1995 program define ztesti version 3.1 parse "`*'", parse(", ") local nobs "`1'" local mean "`2'" local sd1 "`3'" local hyp "`4'" confirm number `mean' confirm number `sd1' confirm number `hyp' confirm integer number `nobs' mac shift 4 local options "Level(integer $S_level)" parse "`*'" if `level' < 10 | `level' > 99 { error 198 } if `nobs'<=0 { di in red "number of observations must be positive" exit 198 } if `sd1' <= 0 { di in red "standard deviation must be positive" exit 198 } local zval = (`mean'-`hyp')/(`sd1'/sqrt(`nobs')) local lvl = 100-((100-`level')/2) local ff : di %8.0g `sd1'/sqrt(`nobs')*invnorm(`lvl'/100) #delimit ; di _n in gr " Variable |" _col(19) "Obs" _col(30) "Mean" _col(37) "Std. Dev." _n " " _dup(9) "-" "+" _dup(33) "-" ; local skip = 10 - length("x") ; di in gr _skip(`skip') "x" _col(12) "|" in ye _col(15) %7.0g `nobs' _col(25) %9.0g `mean' _col(37) %9.0g `sd1' ; di _n in gr _col(12) "Ho: mean = " in ye "`hyp'" _n in gr _col(20) "z = " in ye %3.2f `zval' _n in gr _col(13) "Pr > |z| = " in ye %5.4f 2*normprob(-abs(`zval')) _n in gr _col(15) `level' "% CI " _col(22) "= (" in ye `mean'-`ff' in gr "," in ye `mean'+`ff' in gr ")" in ye ; #delimit cr end