cap pro drop sortuniq1 pro define sortuniq1 /*this program generates a list of unique values of v in ascending order */ args v sort `v' tempvar vv gen `vv'=. qui replace `vv'=`v'[1] in 1 local i=2 local j=1 while `i' <=_N{ if `vv'[`j'] < `v'[`i']{ local j=`j'+1 qui replace `vv'=`v'[`i'] in `j' } local i=`i'+1 } qui replace `v'=`vv' list `v' end