How to convert age variable which in continuos format to interval format for creating a table?
-
Login or Register
- Log in with
clear set seed 2803 set obs 100 gen age = runiformint(0, 99) gen age2 = 5 * floor(age/5) forval x = 0(5)95 { local X = `x' + 4 label def age2 `x' "`x'-`X'", add } label val age2 age2 tab age2 age2 | Freq. Percent Cum. ------------+----------------------------------- 0-4 | 3 3.00 3.00 5-9 | 4 4.00 7.00 10-14 | 6 6.00 13.00 20-24 | 11 11.00 24.00 25-29 | 6 6.00 30.00 30-34 | 11 11.00 41.00 35-39 | 2 2.00 43.00 40-44 | 5 5.00 48.00 45-49 | 6 6.00 54.00 50-54 | 1 1.00 55.00 55-59 | 5 5.00 60.00 60-64 | 4 4.00 64.00 65-69 | 3 3.00 67.00 70-74 | 4 4.00 71.00 75-79 | 6 6.00 77.00 80-84 | 5 5.00 82.00 85-89 | 6 6.00 88.00 90-94 | 4 4.00 92.00 95-99 | 8 8.00 100.00 ------------+----------------------------------- Total | 100 100.00
. sysuse auto, clear (1978 automobile data) . egen mpg2 = cut(mpg), at(0(10)40) (1 missing value generated) . tab mpg mpg2, missing Mileage | mpg2 (mpg) | 10 20 30 . | Total -----------+--------------------------------------------+---------- 12 | 2 0 0 0 | 2 14 | 6 0 0 0 | 6 15 | 2 0 0 0 | 2 16 | 4 0 0 0 | 4 17 | 4 0 0 0 | 4 18 | 9 0 0 0 | 9 19 | 8 0 0 0 | 8 20 | 0 3 0 0 | 3 21 | 0 5 0 0 | 5 22 | 0 5 0 0 | 5 23 | 0 3 0 0 | 3 24 | 0 4 0 0 | 4 25 | 0 5 0 0 | 5 26 | 0 3 0 0 | 3 28 | 0 3 0 0 | 3 29 | 0 1 0 0 | 1 30 | 0 0 2 0 | 2 31 | 0 0 1 0 | 1 34 | 0 0 1 0 | 1 35 | 0 0 2 0 | 2 41 | 0 0 0 1 | 1 -----------+--------------------------------------------+---------- Total | 35 32 6 1 | 74
Comment