^egen^ newvar = ^cut(^varname^)^, ^at(^x1,x2,...,xk^)^ [^ic^odes ^lab^el ^g^roup(k)]
Description - -----------
The option ^cut^ in ^egen^ creates a new categorical variable coded with the left-hand ends of the grouping intervals specified in at(). It allows a stata number list to specify the breaks, (labelled) integer codes in place of the left-hand ends of the intervals, and can produce approximately equal frequency groups.
Options - -------
^at( )^ supplies the breaks for the groups, as an ascending stata number list. If no breaks are specified the command expects the option ^group^.
^icodes^ requests that the codes 0, 1, 2, etc. be used in place of the left-hand ends of the intervals.
^label^ requests that the integer coded values of the grouped variable be labelled with the left--hand ends of the grouping intervals. Specifying this option automatically invokes ^icodes^.
^group( )^ specifies the number of equal frequency grouping intervals to be used in the absence of ^breaks^. Specifying this option automatically invokes ^icodes^. The command works by first calculating the appropriate percentiles using the command ^pctile^ and then using the percentiles as break points.
Example - ------- Using the variable ^length^ from the ^auto^ data, the commands
^egen lgrp=cut( length), at(140,180,200,220,240)^ ^tab lgrp^
produce the output
lgrp | Freq. Percent Cum. - ------------+----------------------------------- 140 | 31 41.89 41.89 180 | 16 21.62 63.51 200 | 20 27.03 90.54 220 | 7 9.46 100.00 - ------------+----------------------------------- Total | 74 100.00
So will the command
^egen lgrp=cut( length), at(140,180(20)240)^
Values outside the range 140--240 are coded as missing. The command
^egen lgrp = cut(length), at(140,180(20)240) label^
will produce a variable coded 0, 1, 2, 3 but labelled 140-, 180-, 200-, 220-.
Thus ^tab lgrp^ produces
lgrp | Freq. Percent Cum. - ------------+----------------------------------- 140- | 31 41.89 41.89 180- | 16 21.62 63.51 200- | 20 27.03 90.54 220- | 7 9.46 100.00 - ------------+----------------------------------- Total | 74 100.00
and ^tab lgrp, nolab^ produces
lgrp | Freq. Percent Cum. - ------------+----------------------------------- 0 | 31 41.89 41.89 1 | 16 21.62 63.51 2 | 20 27.03 90.54 3 | 7 9.46 100.00 - ------------+----------------------------------- Total | 74 100.00
The commands
^egen lgrp = cut(length), group(4) label^ ^tab lgrp^
will produce
lgrp | Freq. Percent Cum. - ------------+----------------------------------- 142- | 17 22.97 22.97 170- | 20 27.03 50.00 192.5- | 18 24.32 74.32 204- | 19 25.68 100.00 - ------------+----------------------------------- Total | 74 100.00