*! version 1.0.0 RG 23 December 1993 (STB-25: dm30) program define compobs version 3.1 local varlist "req ex" local if "opt" local options "List(string) Number(int 0)" parse "`*'" parse "`varlist'", parse(" ") if `number'==0 { local index=index("`if'","=") local if2 substr("`if'",`index'+2,.) local if4=real(`if2')-1 tempvar DIFF qui gen `DIFF'=0 `if' while "`1'"!="" { local if3="`if' & `1'~=`1'[_n-1]" qui replace `DIFF'=`DIFF' + 1 `if3' qui count `if3' if _result(1) { li `1' `list' `if3' | (_n==`if4' & `1'!=`1'[_n+1]) } mac shift } } else { tempvar DIFF qui gen `DIFF'=0 `if' while "`1'"!="" { local index=index("`if'","=") local if2 substr("`if'",`index'+2,.) local if4=real(`if2') local if3="`if' & `1'!=`1'[`number']" qui replace `DIFF'=`DIFF' + 1 `if3' qui count `if3' if _result(1) { li `1' `list' `if3' | (_n==`number' & `1'!=`1'[`if4']) } mac shift } } qui su `DIFF' local DIFF2=_result(6) noi di "" noi di "Number of Differences ="_skip(2) `DIFF2' end