3  tabulate

Mit table können wir sowohl uni- als auch bivariate Häufigkeitsauszählungen erstellen. Auch diese können wir mit esttab exportieren. Außerdem können wir auch gewichtete Tabellen exportieren.

3.1 tab x: One-way frequency table

tabulate m1202
                         Höchster Ausbi |      Freq.     Percent        Cum.
----------------------------------------+-----------------------------------
                   Ohne Berufsabschluss |      1,091        5.46        5.46
duale o. schulische Berufsausbildung/ei |      9,297       46.56       52.03
Aufstiegsfortbildung (Meister, Technike |      1,725        8.64       60.67
Fachhochschule, Universität/ geh., höhe |      7,854       39.33      100.00
----------------------------------------+-----------------------------------
                                  Total |     19,967      100.00

Auch hier benötigen wir estpost, um dann die esttab-Tabelle zu erstellen:

estpost tabulate m1202
esttab, cells("b(label(freq)) pct(fmt(%13.0fc)) cumpct(fmt(%13.0fc))") ///
       nonumber nomtitle noobs
       m1202 |      e(b)     e(pct)  e(cumpct) 
-------------+---------------------------------
           1 |      1091   5.464016   5.464016 
           2 |      9297   46.56183   52.02584 
           3 |      1725   8.639255    60.6651 
           4 |      7854    39.3349        100 
-------------+---------------------------------
       Total |     19967        100            

row labels saved in macro e(labels)


---------------------------------------------------
                     freq          pct       cumpct
---------------------------------------------------
1                    1091            5            5
2                    9297           47           52
3                    1725            9           61
4                    7854           39          100
Total               19967          100             
---------------------------------------------------
  • varlabels() \(\Rightarrow\) Labels verwenden
  • varwidth(40) \(\Rightarrow\) Breite anpassen sodass ganzes Label sichtbar
esttab, cells("b(label(freq)) pct(fmt(%13.0fc)) cumpct(fmt(%13.0fc))") ///   
    nonumber nomtitle noobs ///
    varlabels(`e(labels)') ///  
    varwidth(40) 
                                                 freq          pct       cumpct
-------------------------------------------------------------------------------
Ohne Berufsabschluss                             1091            5            5
duale o. schulische Berufsausbildung/ein         9297           47           52
Aufstiegsfortbildung (Meister, Techniker         1725            9           61
Fachhochschule, Universität/ geh., höher         7854           39          100
Total                                           19967          100             
-------------------------------------------------------------------------------

Export:

esttab using "${res}/03_tab1.rtf", cells("b(label(freq)) pct(fmt(%13.0fc)) cumpct(fmt(%13.0fc))") ///
    nonumber nomtitle noobs ///
    varlabels(`e(labels)') ///
    varwidth(40) ///
    replace 

Übung 1


3.2 tab var1 var2: Kontingenz-/Kreuztabelle

tabulate m1202 S1
                      |      Geschlecht
       Höchster Ausbi |  männlich   weiblich |     Total
----------------------+----------------------+----------
 Ohne Berufsabschluss |       594        497 |     1,091 
duale o. schulische B |     4,371      4,926 |     9,297 
Aufstiegsfortbildung  |     1,073        652 |     1,725 
Fachhochschule, Unive |     4,015      3,839 |     7,854 
----------------------+----------------------+----------
                Total |    10,053      9,914 |    19,967 

estpost gibt uns hier vier Kennzahlen:

  • b \(\Rightarrow\) abs. Häufigkeiten
  • pct \(\Rightarrow\) rel. Häufigkeiten
  • colpct \(\Rightarrow\) Spaltenprozente
  • rowpct \(\Rightarrow\) Zeilenprozente
estpost tabulate m1202 S1
esttab, cell(b(fmt(%13.0fc))) unstack noobs nonumber nomtitles ///
  collabels(none)  varlabels(`e(labels)') varwidth(40)
S1           |                                            
       m1202 |      e(b)     e(pct)  e(colpct)  e(rowpct) 
-------------+--------------------------------------------
männlich     |                                            
           1 |       594   2.974909   5.908684   54.44546 
           2 |      4371   21.89112   43.47956   47.01517 
           3 |      1073   5.373867   10.67343    62.2029 
           4 |      4015   20.10818   39.93833   51.12045 
       Total |     10053   50.34807        100   50.34807 
-------------+--------------------------------------------
weiblich     |                                            
           1 |       497   2.489107   5.013113   45.55454 
           2 |      4926   24.67071   49.68731   52.98483 
           3 |       652   3.265388   6.576558    37.7971 
           4 |      3839   19.22672   38.72302   48.87955 
       Total |      9914   49.65193        100   49.65193 
-------------+--------------------------------------------
Total        |                                            
           1 |      1091   5.464016   5.464016        100 
           2 |      9297   46.56183   46.56183        100 
           3 |      1725   8.639255   8.639255        100 
           4 |      7854    39.3349    39.3349        100 
       Total |     19967        100        100        100 

row labels saved in macro e(labels)


-------------------------------------------------------------------------------
                                             männlich     weiblich        Total
-------------------------------------------------------------------------------
Ohne Berufsabschluss                              594          497        1,091
duale o. schulische Berufsausbildung/ein        4,371        4,926        9,297
Aufstiegsfortbildung (Meister, Techniker        1,073          652        1,725
Fachhochschule, Universität/ geh., höher        4,015        3,839        7,854
Total                                          10,053        9,914       19,967
-------------------------------------------------------------------------------

Dazu noch die Labels und mit mgroups eine Spaltenüberschrift:

esttab, cell(b(fmt(%13.0fc))) unstack noobs collabels(none) nonumber nomtitles ///
            varlabels(`e(labels)') ///
            eqlabels(, lhs("Ausbildungsabs."))  ///
            varwidth(40) /// 
            mgroups("Gender" "", pattern(1 0 1))
                                               Gender                          
Ausbildungsabs.                              männlich     weiblich        Total
-------------------------------------------------------------------------------
Ohne Berufsabschluss                              594          497        1,091
duale o. schulische Berufsausbildung/ein        4,371        4,926        9,297
Aufstiegsfortbildung (Meister, Techniker        1,073          652        1,725
Fachhochschule, Universität/ geh., höher        4,015        3,839        7,854
Total                                          10,053        9,914       19,967
-------------------------------------------------------------------------------
loc x "eingefügtem Text"
esttab, cell(b) unstack noobs collabels(none) nonumber nomtitles ///
            varlabels(`e(labels)') ///
            eqlabels(, lhs("Ausbildungsabs."))  ///
            varwidth(40) ///
            mgroups("Gender" "", pattern(1 0 1)) /// Überschrift über spalten
            title("Hier kann ein Titel stehen") /// titel
            note("Und hier eine Notiz sogar mit: `x'") // notiz
Hier kann ein Titel stehen
-------------------------------------------------------------------------------
                                               Gender                          
Ausbildungsabs.                              männlich     weiblich        Total
-------------------------------------------------------------------------------
Ohne Berufsabschluss                              594          497         1091
duale o. schulische Berufsausbildung/ein         4371         4926         9297
Aufstiegsfortbildung (Meister, Techniker         1073          652         1725
Fachhochschule, Universität/ geh., höher         4015         3839         7854
Total                                           10053         9914        19967
-------------------------------------------------------------------------------
Und hier eine Notiz sogar mit: eingefügtem Text

Übung 2


3.3 Gewichtete Tabelle mit svy

svyset _n [pweight=gew2018]
estpost svy: tabulate  m1202 S1 , row percent count
esttab ., cell(b(fmt(%13.2fc))) ///
    nostar nostar unstack ///
        nonumber nomtitles collabels(none)  ///
        varlabels(`e(labels)') eqlabels(`e(eqlabels)', lhs("Ausbildungsabs.")) ///
        mgroups("Gender", pattern(0 1 0 1) span ) ///
        varwidth(40)
                                         Gender                                
Ausbildungsabs.                              männlich     weiblich        Total
-------------------------------------------------------------------------------
Ohne Berufsabschluss                           594.00       497.00     1,091.00
duale o. schulische Berufsausbildung/ein     4,371.00     4,926.00     9,297.00
Aufstiegsfortbildung (Meister, Techniker     1,073.00       652.00     1,725.00
Fachhochschule, Universität/ geh., höher     4,015.00     3,839.00     7,854.00
Total                                       10,053.00     9,914.00    19,967.00
-------------------------------------------------------------------------------
N                                               19967                          
-------------------------------------------------------------------------------
esttab using "${res}/svytab.rtf", cell(b(fmt(%13.2fc))) ///
    nostar nostar unstack ///
        nonumber nomtitles collabels(none)  ///
        varlabels(`e(labels)') eqlabels(`e(eqlabels)', lhs("Ausbildungsabs.")) ///
        mgroups("Gender", pattern(0 1) span ) ///
        varwidth(40) ///
        replace
    
esttab . using "${res}/svy_desc.tex",  cell(b(fmt(%13.2fc))) ///
        nostar nostar unstack ///
        nonumber nomtitles collabels(none)  ///
        varlabels(`e(labels)') eqlabels(`e(eqlabels)', lhs("Ausbildungsabs."))  ///
        mgroups("Gender", pattern(0 1 0 1) prefix(\multicolumn{@span}{c}{) suffix(}) span erepeat(\cmidrule(lr){@span})) ///
        booktabs replace
  • e(b) = cell percentages
  • e(se) = standard errors of cell percentages
  • e(lb) = lower 95% confidence bounds for cell percentages
  • e(ub) = upper 95% confidence bounds for cell percentages
  • e(cell) = cell percentages
  • e(row) = row percentages
  • e(col) = column percentages
  • e(count) = weighted counts
  • e(obs) = number of observations

3.4 Übungen

3.4.1 Übung

  • Erstellen Sie eine Häufigkeitstabelle für von gkpol.
  • Lassen Sie sich die Labels für gkpol anzeigen und passen Sie die Tabelle nach Ihren Vorstellungen an.Wie würden Sie die kumulierten Anteile aus Ihrer Tabelle ausblenden?
  • Passen Sie die Labels für die Spalten (bspw. N statt freq und % statt pct) an und blenden Sie die kumulierte relative Häufigkeit aus.

3.4.2 Übung

  • Erstellen Sie eine Kreuztabelle für gkpol und mobil.
  • Passen Sie die Beschriftung der Tabelle nach Ihren Vorstellungen an.
  • Was müssten Sie ändern, um die Zeilen- oder Spaltenprozente anzeigen zu lassen?
  • Fügen Sie auch eine Notiz ein und einen Titel ein