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:
tabulate m1202
estpost "b(label(freq)) pct(fmt(%13.0fc)) cumpct(fmt(%13.0fc))") ///
esttab, cells(noobs nonumber nomtitle
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 verwendenvarwidth(40)
\(\Rightarrow\) Breite anpassen sodass ganzes Label sichtbar
"b(label(freq)) pct(fmt(%13.0fc)) cumpct(fmt(%13.0fc))") ///
esttab, cells(noobs ///
nonumber nomtitle `e(labels)') ///
varlabels( 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:
using "${res}/03_tab1.rtf", cells("b(label(freq)) pct(fmt(%13.0fc)) cumpct(fmt(%13.0fc))") ///
esttab noobs ///
nonumber nomtitle `e(labels)') ///
varlabels(///
varwidth(40) replace
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äufigkeitenpct
\(\Rightarrow\) rel. Häufigkeitencolpct
\(\Rightarrow\) Spaltenprozenterowpct
\(\Rightarrow\) Zeilenprozente
tabulate m1202 S1
estpost noobs nonumber nomtitles ///
esttab, cell(b(fmt(%13.0fc))) unstack none) varlabels(`e(labels)') varwidth(40) collabels(
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:
noobs collabels(none) nonumber nomtitles ///
esttab, cell(b(fmt(%13.0fc))) unstack `e(labels)') ///
varlabels("Ausbildungsabs.")) ///
eqlabels(, lhs(///
varwidth(40) "Gender" "", pattern(1 0 1)) mgroups(
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
-------------------------------------------------------------------------------
"eingefügtem Text"
loc x noobs collabels(none) nonumber nomtitles ///
esttab, cell(b) unstack `e(labels)') ///
varlabels("Ausbildungsabs.")) ///
eqlabels(, lhs(///
varwidth(40) "Gender" "", pattern(1 0 1)) /// Überschrift über spalten
mgroups(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
3.3 Gewichtete Tabelle mit svy
svyset _n [pweight=gew2018]
svy: tabulate m1202 S1 , row percent count estpost
///
esttab ., cell(b(fmt(%13.2fc))) ///
nostar nostar unstack none) ///
nonumber nomtitles collabels(`e(labels)') eqlabels(`e(eqlabels)', lhs("Ausbildungsabs.")) ///
varlabels("Gender", pattern(0 1 0 1) span ) ///
mgroups( 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
-------------------------------------------------------------------------------
using "${res}/svytab.rtf", cell(b(fmt(%13.2fc))) ///
esttab ///
nostar nostar unstack none) ///
nonumber nomtitles collabels(`e(labels)') eqlabels(`e(eqlabels)', lhs("Ausbildungsabs.")) ///
varlabels("Gender", pattern(0 1) span ) ///
mgroups(///
varwidth(40) replace
using "${res}/svy_desc.tex", cell(b(fmt(%13.2fc))) ///
esttab . ///
nostar nostar unstack none) ///
nonumber nomtitles collabels(`e(labels)') eqlabels(`e(eqlabels)', lhs("Ausbildungsabs.")) ///
varlabels("Gender", pattern(0 1 0 1) prefix(\multicolumn{@span}{c}{) suffix(}) span erepeat(\cmidrule(lr){@span})) ///
mgroups(replace booktabs
e(b)
= cell percentagese(se)
= standard errors of cell percentagese(lb)
= lower 95% confidence bounds for cell percentagese(ub)
= upper 95% confidence bounds for cell percentagese(cell)
= cell percentagese(row)
= row percentagese(col)
= column percentagese(count)
= weighted countse(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
stattfreq
und%
stattpct
) an und blenden Sie die kumulierte relative Häufigkeit aus.
3.4.2 Übung
- Erstellen Sie eine Kreuztabelle für
gkpol
undmobil
. - 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