Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dealing with categorical variables when making a summary statistics table by group

    Dear Statalist:

    I would like to make a summary statistics table with categorical variables. I have four groups (variable named as vignette). The table that I have currently is the follows:
    Click image for larger version

Name:	20220505_141614.png
Views:	1
Size:	57.7 KB
ID:	1663218


    I used the following code:

    Code:
    tabstat dv_donate dv_count dv_email sex age occ race edu ideology psm, statistics( mean sd count ) by(vignette)
    My problem is that sex, age, occupation, and race are categorical variables. And so what I want to do is report the percentage of each category (eg., White 20%, Black 20%, Hisp 20%, Asian 20%, Other 20%) by group, rather than treating these as continuous variables.
    Can anyone let me know a command for how to make such table by group (vignette).

    My data looks like this:
    * Example generated by -dataex-. To install: ssc install dataex
    * dataex dv_donate dv_count dv_email sex age occ race edu ideology psm vignette

    clear
    input float(dv_donate dv_count dv_email) byte(sex age occ race edu ideology) float(psm vignette)
    0 0 0 2 36 1 1 3 6 2.8 1
    0 0 0 1 56 1 1 4 6 3.2 3
    0 0 0 2 44 3 1 3 6 4.8 2
    0 0 0 2 66 6 1 2 4 1.8 1
    25 0 0 2 54 3 1 3 3 3.8 3
    10 0 0 1 34 2 1 4 2 2.6 2
    0 0 0 2 53 2 1 4 2 4.8 4
    0 0 0 2 42 3 1 4 1 4.2 3
    0 0 0 2 49 1 1 3 4 1.4 4
    100 1 1 2 52 6 1 2 6 4.2 4
    5 0 0 1 24 1 1 3 2 3.4 2
    0 1 1 1 32 1 1 2 4 3 2
    5 0 0 1 80 6 1 4 1 5 2
    0 0 0 1 35 2 4 3 2 2.8 3
    10 0 0 2 36 7 1 3 4 3 2
    0 0 0 1 56 1 1 4 3 2.8 4
    0 0 0 2 34 1 1 2 4 2.6 3
    5 0 0 2 36 1 1 2 5 3.2 3
    0 0 0 2 . . 3 4 7 4.8 2
    0 0 0 2 69 6 1 3 5 3.4 1
    0 0 0 2 21 7 1 2 2 3.2 3
    0 0 0 2 19 5 5 2 2 3.2 3
    0 0 0 2 22 1 1 3 2 2 4
    0 0 0 2 37 3 1 3 5 3.4 4
    10 0 0 1 34 1 1 3 3 3.4 3
    5 0 0 2 36 1 1 3 4 5 1
    30 0 0 1 27 1 1 2 1 4.4 2
    100 0 0 2 22 5 5 2 6 3.8 3
    10 3 1 1 45 1 1 3 6 3.2 3
    50 0 0 2 42 6 1 3 3 4.4 2
    1 0 0 1 36 4 1 3 4 3 1
    0 0 0 2 28 2 1 4 1 4.2 4
    0 0 0 1 34 1 1 2 4 4.4 1
    100 3 1 2 31 6 1 2 7 5 3
    0 0 0 1 42 1 1 4 4 4.8 3
    20 0 0 1 36 1 1 4 3 4.4 1
    0 0 0 2 41 1 1 3 7 3.4 2
    50 0 0 2 32 4 1 2 3 4 2
    2 0 0 1 19 4 3 2 4 3 2
    100 0 0 2 43 6 1 2 1 3.6 1
    15 0 0 1 31 1 2 3 4 3.2 2
    0 0 0 1 60 1 1 3 5 2.4 3
    0 0 0 1 45 1 1 3 5 2.8 2
    25 0 0 2 39 1 1 3 5 3 3
    0 0 0 2 39 6 1 3 4 3.4 3
    100 0 0 1 36 4 1 2 5 3.8 3
    0 0 0 2 32 1 1 3 7 4.2 2
    0 0 0 1 36 1 1 4 3 3.8 4
    0 0 0 1 48 3 1 3 6 3.6 4
    0 0 0 1 63 7 1 4 6 3.8 1
    50 2 1 2 35 3 3 4 1 4 2
    0 0 0 1 23 6 2 3 5 5 1
    0 0 0 2 23 1 1 3 6 4.2 1
    0 0 0 1 56 6 1 3 4 3.6 3
    0 0 0 2 35 6 1 3 6 3.6 1
    100 0 0 2 . 4 1 2 5 3.4 4
    10 0 0 2 46 3 1 3 6 4.4 1
    0 0 0 2 36 1 1 3 2 4.4 2
    100 2 1 1 78 4 1 4 2 5 2
    0 0 0 2 47 1 1 4 4 2.8 1
    10 0 0 2 45 3 1 3 5 4 2
    0 0 0 1 50 1 1 3 4 3 1
    0 0 0 2 41 1 1 3 2 3.8 3
    0 0 0 2 39 6 1 3 4 3 4
    0 0 0 2 39 3 1 4 4 3.6 4
    100 0 0 1 48 3 1 3 6 4 3
    0 0 0 1 50 1 1 3 6 4 1
    0 0 0 1 59 1 1 3 2 3.8 3
    0 0 0 1 48 6 1 3 4 4.4 1
    100 2 1 2 29 1 1 3 2 3.6 2
    0 0 0 1 33 1 3 3 2 2 3
    0 0 0 2 25 6 4 3 3 2 4
    0 0 0 2 22 5 2 3 1 3.4 2
    100 1 1 2 38 6 1 2 5 4.8 1
    0 0 0 1 46 1 1 3 6 3.6 2
    0 0 0 1 29 4 2 3 4 2 4
    0 0 0 2 47 7 1 4 4 2.2 4
    0 0 0 2 59 4 1 3 1 3.2 3
    0 0 0 2 32 1 1 3 2 3.6 3
    10 0 0 2 20 5 4 3 3 2.8 2
    20 0 0 2 41 1 1 3 2 3 1
    100 0 0 1 40 1 1 4 2 3.8 1
    100 2 1 1 37 3 1 4 2 4.4 1
    0 0 0 3 33 4 1 2 4 3.4 2
    0 0 0 2 46 6 5 4 2 3.6 2
    0 0 0 2 . 6 1 3 4 4.4 3
    0 0 0 1 40 1 1 3 3 3.4 3
    100 0 0 2 57 3 1 3 3 3.2 1
    0 0 0 1 25 6 1 2 3 3.6 4
    0 0 0 1 54 1 1 4 7 2.6 1
    0 0 0 1 43 1 3 3 4 4 2
    20 1 1 2 31 1 1 3 1 3.4 2
    40 0 0 1 35 1 1 2 2 4.2 2
    0 0 0 1 26 1 4 4 5 2.2 2
    30 1 1 2 35 6 1 3 2 4.8 2
    20 2 1 2 42 6 2 2 5 3.2 4
    100 0 0 2 . 1 1 4 5 4.2 4
    0 0 0 2 64 2 1 2 7 3 1
    20 2 1 2 37 6 1 2 2 3.8 3
    100 0 0 1 28 1 1 3 1 4.6 2
    end
    label values sex sex
    label def sex 1 "male", modify
    label def sex 2 "female", modify
    label values occ occ
    label def occ 1 "private", modify
    label def occ 2 "nonprofit", modify
    label def occ 3 "public", modify
    label def occ 4 "self", modify
    label def occ 5 "student", modify
    label def occ 6 "nowork", modify
    label def occ 7 "other", modify
    label values race race
    label def race 1 "white", modify
    label def race 2 "black", modify
    label def race 3 "hisp", modify
    label def race 4 "asian", modify
    label def race 5 "other", modify
    label values edu edu
    label def edu 2 "high", modify
    label def edu 3 "college", modify
    label def edu 4 "graduate", modify
    label values ideology ideology
    label def ideology 1 "ext liberal", modify
    label def ideology 2 "liberal", modify
    label def ideology 3 "slightly liberal", modify
    label def ideology 4 "moderate", modify
    label def ideology 5 "slightly cons", modify
    label def ideology 6 "conservative", modify
    label def ideology 7 "ext cons", modify
    [/CODE]

  • #2
    Create manually dummy variables, e.g., White = 1 if person is white and 0 otherwise. Then the means of these dummy variables will be the proportions that you say you want.

    Comment

    Working...
    X