log using levelsof,text replace set obs 100000000 set rmsg on gen r=runiform() gen recno=_n sort r gen v=mod(recno,100000) summarize quietly levelsof v,local(wlevels) gen x=mod(recno,100) summarize quietly levelsof x,local(xlevels) gen y=mod(recno,10) summarize quietly levelsof y,local(ylevels) drop v x y gen v=string(mod(recno,1000)) summarize quietly levelsof v,local(vlevels) gen x=string(mod(recno,100)) summarize quietly levelsof x,local(xlevels) gen y=string(mod(recno,10)) summarize quietly levelsof y,local(ylevels) quietly table y collapse (sum) r,by(x)