* !rao.ado version 1.8, November 1997 STB-42 gr28 * Aurelio Tobias program define grvar version 1.1 local varlist "req ex min(2)" local if "opt" local in "opt" local options "`options' id(string) level(int 5) *" parse "`*'" parse "`varlist'", parse(" ") local SEi `1' local ni `2' if "`id'"=="" { local id "O" } else { local id "[`id']" } preserve if ("`if'"!="") { keep `if' } if ("`in'"!="") { keep `in' } tempvar i Ai Ci ti Vi SE tw1 s2 s3 SEt LDL UDL local k=_N gen `i'=_n qui gen `Ai'=(9*`ni'-11)/(9*(`ni'-1)) qui gen `Ci'=(18*(`ni'-1))/((9*`ni'-11)^2) qui gen `Vi'=`SEi'^2 qui gen `ti'=(`SEi'^(2/3))/`Ai' qui summ `ni' local N=_result(18) qui gen `tw1'=`ni'*`ti' qui summ `tw1' local tw2=_result(18) local tw=(1/`N')*`tw2' local s1=`tw'/`N' qui gen `s2'=`N'*(`N'-2*`ni')*`Ci' qui gen `s3'=(`ni'^2)*`Ci' qui summ `s3' local s4=_result(18) qui gen `SEt'=`s1'*((`s2'+`s4')^(1/2)) local z=(-1)*invnorm((`level'/100)/(2*`k')) qui gen `LDL'=`tw'-`z'*`SEt' qui gen `UDL'=`tw'+`z'*`SEt' local j=2 local xlist="1" while (`j'<=`k') { local xlist "`xlist',`j'" local j=`j'+1 } graph `LDL' `ti' `UDL' `i' , c(l.l) sy(o`id'o) pen(212) yline(`tw') /* */ t2(" ") b2("Sample number") xlab(`xlist') `options' end