*! version 1.0.0 (STB-33: sg59) program define iov version 4.0 local varlist "req ex" local if "opt" local in "opt" local options "Rows(int 5) Actual" parse "`*'" parse "`varlist'", parse(" ") tempvar kant touse preserve qui mark `touse' `if' `in' qui keep if `touse' if "`actual'"=="" { di "" di "Variable" _col(12) "IOV" _col(25) "IOC" _col(40) "p-value" di in gr _dup(9) "-" "+" _dup(36) "-" while "`1'" != "" { qui egen `kant'=group(`1') local tee=0 local i=1 qui ta `1' local en=_result(1) qui { while `i' < `rows' { local k=1 while `k' < `rows' { count if `kant'==`i' local c1=_result(1) count if `kant'==`i'+`k' local c2=_result(1) local tee=`tee'+(`c1'*`c2'*((`k'+`i')-`i')) local k=`k'+1 } local i=`i'+1 } } if mod(`en'/2,1)>.4 { local tmax=((`en'^2 - 1)*(`rows' - 1))/4 } else { local tmax=((`en'^2)*(`rows' - 1))/4 } local iov = `tee'/`tmax' local ioc = 1 - `iov' local ex=`en'/`rows' local g=1 local gof=0 qui nbgof `1' `if' `in' di "`1'" _col(10) in gr "|" _col(12) in ye %6.4f `iov' _col(25) /* */ %6.4f `ioc' _col(40) %5.4f $S_2 qui drop `kant' mac shift } } else { di "" di "Variable" _col(12) "IOV" _col(25) "IOC" _col(40) "p-value" _col(55) /* */ "rows" di in gr _dup(9) "-" "+" _dup(48) "-" while "`1'" != "" { qui egen `kant'=group(`1') local tee=0 local i=1 qui ta `1' local en=_result(1) local rows=_result(2) qui { while `i' < `rows' { local k=1 while `k' < `rows' { count if `kant'==`i' local c1=_result(1) count if `kant'==`i'+`k' local c2=_result(1) local tee=`tee'+(`c1'*`c2'*((`k'+`i')-`i')) local k=`k'+1 } local i=`i'+1 } } if mod(`en'/2,1)>.4 { local tmax=((`en'^2 - 1)*(`rows' - 1))/4 } else { local tmax=((`en'^2)*(`rows' - 1))/4 } local iov = `tee'/`tmax' local ioc = 1 - `iov' local ex=`en'/`rows' local g=1 local gof=0 qui nbgof `1' `if' `in' di "`1'" _col(10) in gr "|" _col(12) in ye %6.4f `iov' _col(25) /* */ %6.4f `ioc' _col(40) %5.4f $S_2 _col(56) %3.0f `rows' qui drop `kant' mac shift } } end exit ----+----1----+----2----+----3----+----4----+----5----+----6----+----7 IOV IOC p-value ---------|-----------------------------------------------------------------