invisible header
Einlesen der ESS-Daten der Welle 8 (2016) im Stata-Format:
# Working directory setzen (z.B. "c:\daten" oder "~/daten")
setwd("mein_laufwerk/mein_datenverzeichnis")
# Daten einlesen
library(haven)
ess <- read_dta("ESS8e02_2.dta")
# oder
ess <- read_sav("ESS8e02_2.sav")
Ein neues Übungsskript erstellen.
# Statistik 1: R Tutorat
# Übungsskript zur Tabellenanalyse
# Datum: 06.12.2021
# AutorIn: XXX
Installation und Aktivierung der Packages tidyverse, sjPlot und ggplot2.
#install.packages("tidyverse")
library(tidyverse)
# install.packages("sjPlot")
library(sjPlot)
#install.packages("ggplot2")
library(ggplot2)
In den folgenden zwei Anwendungen untersuchen wir in einem Dreiländervergleich, ob sich Personen in Deutschland, der Schweiz und Österreich durch unterschiedlich Einschätzungen der Wichtigkeit des (a) Befolgens von Traditionen und Bräuchen und (b) Verfolgens von Dingen, die Freude bereiten auszeichnen.
1. Erstellt auf Grundlage der cntry Variable einen Teildatensatz, in dem nur noch die Befragungspersonen aus Deutschland, Österreich und der Schweiz enthalten sind. Anschliessend erstellt ihr auf dieser Datenbasis einen Teildatensatz “ess_werte”, der ausschliesslich die cntry Variable, sowie die zwei Variablen zur Messung der Wichtigkeit der beiden Lebensideale (imptrad und impfun) enthält.
ess_dca <- filter(ess, cntry == "DE" | cntry == "CH" | cntry == "AT")
ess_werte <- select(ess_dca, cntry, imptrad, impfun)
2. Verschafft euch mit attributes(), table() und/oder summary() eine Übersicht zu den Verteilungen der drei Variablen und den zugrunde liegenden Messungen. Und: Gibt es Werte, welche als NAs rekodiert werden können/sollten?
attributes(ess_werte$cntry)
## $label
## [1] "Country"
##
## $format.stata
## [1] "%2s"
table(ess_werte$cntry)
##
## AT CH DE
## 2010 1525 2852
Das verbleibende Sample enthält noch 6387 Personen, von denen die meisten zur deutschen Teilstichprobe gehören.
attributes(ess_werte$imptrad)
## $label
## [1] "Important to follow traditions and customs"
##
## $format.stata
## [1] "%18.0g"
##
## $labels
## Very much like me Like me Somewhat like me A little like me
## 1 2 3 4
## Not like me Not like me at all Refusal Don't know
## 5 6 NA NA
## No answer
## NA
##
## $class
## [1] "haven_labelled" "vctrs_vctr" "double"
table(ess_werte$imptrad)
##
## 1 2 3 4 5 6
## 1137 1956 1449 890 645 261
summary(ess_werte$imptrad)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 1.0 2.0 3.0 2.8 4.0 6.0 49
Hinter diesem Item steht offenbar eine Aufforderung zur Selbsteinschätzung der Ähnlichkeit mit einer Person, die das Befolgen von Traditionen und Bräuchen für wichtig hält. Die Häufigkeitsauszählung zeigt dementsprechend, dass die meisten Personen im 3-Länder Sample sich positiv mit der Aussage identifizieren können, dass das Befolgen von Traditionen und Bräuchen wichtig ist. Wir erlauben uns, trotz der komplexen Messung, die Interpretation dieser Variable als Mass für die subjektive Einschätzung der Wichtigkeit von Traditionen.
attributes(ess_werte$impfun)
## $label
## [1] "Important to seek fun and things that give pleasure"
##
## $format.stata
## [1] "%18.0g"
##
## $labels
## Very much like me Like me Somewhat like me A little like me
## 1 2 3 4
## Not like me Not like me at all Refusal Don't know
## 5 6 NA NA
## No answer
## NA
##
## $class
## [1] "haven_labelled" "vctrs_vctr" "double"
table(ess_werte$impfun)
##
## 1 2 3 4 5 6
## 798 1745 1786 1115 694 198
summary(ess_werte$impfun)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 1.000 2.000 3.000 2.961 4.000 6.000 51
Die meisten Personen im 3-Länder Sample identifizieren sich ebenfalls eher mit der Aussage, dass das Streben nach Spass und Freude wichtig ist.
3. Wir wollen die Fallzahl über beide Analysen konstant halten. Da wir den Datensatz bereits auf alle analyserelevanten Merkmale begrenzt haben, dürfen wir dazu mit der “Brechstange” na.omit() alle Personen mit NAs in mindestens einer der beteiligten Variablen ausschliessen (ohne dabei unbotmässig die Stichprobe zu reduzieren). Positiver Nebeneffekt: Wir müssen dann später nicht mehr für die ggplot-Anwendungen spezifische Teildatensätze ohne NAs bilden.
ess_werte_clean <- na.omit(ess_werte)
Die Anzahl an Merkmalsträger sinkt von 6’387 auf 6’326, was einer Reduktion um circa 1% entspricht.
4. Rekodiert die beiden Variablen imptrad und impfun von ihrer Ausgangsform (quasimetrisch) in Variablen mit jeweils drei Ausprägungen und faktorisiert alle drei Variablen. Nutzt zudem den Befehl factor(,levels = c()), um die Reihenfolge der Ausprägungen festzulegen (und so für gute Zugänglichkeit der in den weiteren Arbeitsschritten erstellten Tabellen und Visualisierungen zu sorgen).
# Faktorisieren der Ländervariable
ess_werte_clean$cntry <- as.factor(ess_werte_clean$cntry)
# Rekodieren, Faktorisieren und Releveln "imptrad"
ess_werte_clean$imptrad_tri <- ""
ess_werte_clean$imptrad_tri[ess_werte_clean$imptrad <= 2] <- "hoch"
ess_werte_clean$imptrad_tri[ess_werte_clean$imptrad >= 3 & ess_werte_clean$imptrad <= 4] <- "mittel"
ess_werte_clean$imptrad_tri[ess_werte_clean$imptrad >= 5] <- "gering"
ess_werte_clean$imptrad_tri <- as_factor(ess_werte_clean$imptrad_tri)
ess_werte_clean$imptrad_tri <- factor(ess_werte_clean$imptrad_tri, levels = c("hoch", "mittel", "gering"))
# Rekodieren, Faktorisieren und Releveln der Wertschätzungsvariable "impfun"
ess_werte_clean$impfun_tri <- ""
ess_werte_clean$impfun_tri[ess_werte_clean$impfun <= 2] <- "hoch"
ess_werte_clean$impfun_tri[ess_werte_clean$impfun >= 3 & ess_werte_clean$impfun <= 4] <- "mittel"
ess_werte_clean$impfun_tri[ess_werte_clean$impfun >= 5] <- "gering"
ess_werte_clean$impfun_tri <- as_factor(ess_werte_clean$impfun_tri)
ess_werte_clean$impfun_tri <- factor(ess_werte_clean$impfun_tri, levels = c("hoch", "mittel", "gering"))
5.1. Formuliert eine Hypothese zu den Länderunterschieden in den Einschätzungen zur Wichtigkeit des Befolgens von Traditionen und Bräuchen.
5.2 Erstellt mit tab_xtab() aus dem sjPlot-Package eine Kreuztabelle, welche die Verteilung der beiden Variablen tabellarisch darstellt.
tab_xtab(var.row = ess_werte_clean$imptrad_tri, var.col = ess_werte_clean$cntry,
title = "Kreuztabelle: Wichtigkeit von Traditionen, nach Länderzugehörigkeit",
var.labels = c("Wie wichtig: Traditionen?",
"Land"),
show.col.prc = TRUE,
show.obs = TRUE)
Wie wichtig: Traditionen? |
Land | Total | ||
---|---|---|---|---|
AT | CH | DE | ||
hoch |
1009 50.7 % |
730 48.2 % |
1347 47.7 % |
3086 48.8 % |
mittel |
801 40.3 % |
577 38.1 % |
957 33.9 % |
2335 36.9 % |
gering |
179 9 % |
206 13.6 % |
520 18.4 % |
905 14.3 % |
Total |
1989 100 % |
1513 100 % |
2824 100 % |
6326 100 % |
χ2=88.966 · df=4 · Cramer’s V=0.084 · p=0.000 |
Achtet darauf, dass ihr euch jeweils die richtigen Spalten- bzw. Zeilenprozente anzeigen lasst. Für den Fall, dass ihr die UV cntry in die Spalten setzt, empfiehlt sich die Ausgabe der Spaltenprozente. Wenn ihr die UV in die Zeilen setzt, empfiehlt sich die Ausgabe der Zeilenprozente. Modifikationen dahingehend lassen sich über den Teilbefehl show.col.prc = TRUE bzw. show.row.prc = TRUE vornehmen. Der Tabellenoutput lässt sich vom Viewer aus per Rechtsklick-“Select all”-Copy-Paste direkt in Textdokumente exportieren und dort ggf. weiterbearbeiten.
6.1 Wertet die Tabelle unter sinnvollem Einsatz von Prozentsatzdifferenzen aus
Unter den Deutschen Befragungspersonen ist der Anteil derjenigen, die das Befolgen von Traditionen für unwichtig halten, deutlich grösser als in der Schweiz (um 4.8 Prozentpunkte) und gar mehr als doppelt so hoch wie in Österreich.
6.2 Berechnet und interpretiert das Assoziationsmass Lambda
E1 = 6326-3086
E2 = (1989-1009) + (1513-730) + (2824-1347)
Lambda = (E1-E2)/E1
Lambda
## [1] 0
Interpretation: Die Vorhersage der Wichtigkeitseinschätzung verbessert sich bei Kenntnis der Länderzugehörigkeit um 0%, bzw. die Erklärungskraft der Länderzugehörigkeit beträgt 0%.
6.3 Berechnet und interpretiert das Assoziationsmass Cramers V (bzw. bildet dieses rechnerisch auf Basis des Chi^2 Wertes nach).
Cramer’s V lässt sich mit folgender Formel berechnen:
√(Chi2/(N∗min(R−1,C−1))), dementsprechend:
sqrt(88.966/(6326*2)) # Cramer's V = 0.084
## [1] 0.08385567
Cramer’s V (0.084) indiziert eine deutliche Abweichung von der Unabhängigkeit zwischen den beiden Variablen in der Stichprobe, die jedoch nach gängigen Klassifikationsschlüsseln (Vgl. Cohen, 1988 bzw. Ellis, 2010) eher auf einen schwachen Zusammenhang zwischen der Länderzugehörigkeit und der Einschätzung zur Wichtigkeit von Traditionen verweist.
6.4 Interpretiert das Assoziationsmass Chi^2, bezieht euch dabei auf den ausgegebenen p-Wert.
Der p-Wert (p < 0.001) des Chi-Quadrat Tests (siehe Fusszeile des Kreuztabellenoutputs), deutet darauf hin, dass die vorgefundene Abweichung von der Unabhängigkeit zwischen den beiden Variablen überzufällig ist. Die Nullhypothese, dass in der Population Unabhängigkeit zwischen der Länderzugehörigkeit und der Bedeutsamkeit von Traditionen besteht, kann demnach abgelehnt werden.
Achtung: Aufgrund der Tabellengrösse und der kategorischen Tendenzlosigkeit des Chi-2 Tests kann dieses Testergebnis nicht auf eine (wie auch immer geartete) einseitig formulierte Hypothese bezogen werden. Die statistische Stützungsleistung des Testes wäre in diesem Fall also sehr indirekt und dies sollte dann auch erwähnt werden. Die exakte inferenzstatistische Überprüfung einer Tendenz wäre nur dann möglich, wenn der Vergleich auf zwei Länder und die Unterscheidung “wichtig” vs. “unwichtig” reduziert würde
7.1 Visualisiert die Kreuztabelle bzw. den bivariaten Zusammenhang
splot_a_trad <- ggplot(ess_werte_clean, aes(x = cntry, fill = imptrad_tri)) +
geom_bar(position = "fill") +
labs(title = "Wichtigkeit von Traditionen, nach Landeszugehörigkeit",
x = "Land", y = "", fill = "Wichtigkeit Tradition" ,
caption="Quelle: European Social Survey 2016 (n = 6'326)") +
scale_y_continuous(labels = scales::percent_format()) +
theme_bw()
splot_a_trad
7.2 Interpretiert euer Balkendiagramm inhaltlich. Greift dabei auch auf eure Kreuztabelle zurück. Entsprechen die Ergebnisse eurer Vermutung?
In Österreich werden Traditionen für wichtiger gehalten als in den anderen beiden Ländern. Dies lässt sich sowohl an dem kleinsten Anteil der Personen mit geringer Wichtigkeitszuschreibung, als auch am grössten Anteil der Personen mit hoher Wichtigkeitszuschreibung (relativ zu den anderen beiden Ländern) festmachen. In Deutschland wird das Befolgen von Traditionen dagegen am häufigsten für unwichtig gehalten (siehe auch Interpretationen oben).
8.1 Formuliert eine Hypothese zum Länderunterschied in den Einschätzungen zur Wichtigkeit des Verfolgens von Spass und Freude.
8.2 Erstellt mit tab_xtab() eine Kreuztabelle, welche die Verteilung der beiden Variablen tabellarisch darstellt.
tab_xtab(var.row = ess_werte_clean$impfun_tri, var.col = ess_werte_clean$cntry,
title = "Kreuztabelle: Wichtigkeit von Spass und Freude, nach Länderzugehörigkeit",
var.labels = c("Wie wichtig: Spass und Freude?",
"Land"),
show.col.prc = TRUE,
show.obs = TRUE)
Wie wichtig: Spass und Freude? |
Land | Total | ||
---|---|---|---|---|
AT | CH | DE | ||
hoch |
788 39.6 % |
690 45.6 % |
1063 37.6 % |
2541 40.2 % |
mittel |
1019 51.2 % |
631 41.7 % |
1246 44.1 % |
2896 45.8 % |
gering |
182 9.2 % |
192 12.7 % |
515 18.2 % |
889 14.1 % |
Total |
1989 100 % |
1513 100 % |
2824 100 % |
6326 100 % |
χ2=107.058 · df=4 · Cramer’s V=0.092 · p=0.000 |
9.1 Wertet die Tabelle unter sinnvollem Einsatz von Prozentsatzdifferenzen inhaltlich aus.
Unter den Schweizer Befragungspersonen ist der Anteil derjenigen, die das Verfolgen von Spass und Freude für wichtig halten, vergleichsweise gross, bzw. sowohl grösser als in Deutschland (um 8 Prozentpunkte), als auch in Österreich (um 6 Prozentpunkte). Der Anteil derjenigen, die das Verfolgen von Spass und Freude für unwichtig halten, ist dagegen erwartungsgemäss in Deutschland mit Abstand am grössten (und mit etwa 18% fast doppelt so hoch wie in Österreich).
9.2 Berechnet und interpretiert das Assoziationsmass Lambda
E1 = 6326-2896
E2 = (1989 - 1019) + (1513 - 690) + (2824 - 1246)
Lambda = (E1-E2)/E1
Lambda
## [1] 0.01720117
1,7% der Vorhersagefehler der Einschätzungen der Wichtigkeit von Spass können bei Kenntnis der Länderzugehörigkeit reduziert werden. Alternativ: Die Vorhersage der Wichtigkeitseinschätzung verbessert sich bei der Kenntnis der Länderzugehörigkeit um 1,7%. Oder: Die Erklärungskraft der Länderzugehörigkeit beträgt 1,7%.
9.3 Berechnet und interpretiert das Assoziationsmass Cramers V; bildet dieses rechnerisch auf Basis des Chi^2 Wertes nach.
Cramer’s V lässt sich mit folgender Formel berechnen:
√(Chi2/(N∗min(R−1,C−1))), dementsprechend:
sqrt(107.058/(6326*2)) # Cramer's V = 0.092
## [1] 0.09198774
Cramer’s V (0.092) indiziert eine deutliche Abweichung von der Unabhängigkeit zwischen den beiden Variablen in der Stichprobe, die jedoch nach gängigen Klassifikationsschlüsseln (Vgl. Cohen, 1988 bzw. Ellis, 2010) eher auf einen geringen Zusammenhang zwischen der Länderzugehörigkeit und der Einschätzung zur Wichtigkeit von Traditionen verweist. Gleichwohl: Länderzugehörigkeit determiniert etwas stärker die Wichtigkeit des Verfolgens von Spass als die Wichtigkeit des Befolgens von Traditionen.
9.4 Interpretiert das Assoziationsmass Chi^2, bezieht euch dabei auf den ausgegebenen p-Wert.
Interpretation: Der p-Wert (p < 0.001) des Chi-Quadrat Tests deutet darauf hin, dass die vorgefundene Abweichung von der Unabhängigkeit zwischen den beiden Variablen überzufällig ist, dass also die Nullhypothese einer Unabhängigkeit zwischen der Länderzugehörigkeit und der Bedeutsamkeit von Spass und Freude in der Population abgelehnt werden kann.
Achtung: Aufgrund der Tabellengrösse und der kategorischen Tendenzlosigkeit des Chi-2 Tests kann dieses Testergebnis nicht auf eine (wie auch immer geartete) einseitig formulierte Hypothese bezogen werden. Die statistische Stützungsleistung des Testes wäre in diesem Fall also sehr indirekt und dies sollte dann auch erwähnt werden. Die exakte inferenzstatistische Überprüfung einer Tendenz wäre nur dann möglich, wenn der Vergleich auf zwei Länder und die Unterscheidung “wichtig” vs. “unwichtig” reduziert würde
10.1 Visualisiert die Kreuztabelle bzw. den bivariaten Zusammenhang (z.B. mithilfe des geom_bar() Befehls aus dem ggplot2 Package)
splot_a_fun <- ggplot(ess_werte_clean) +
geom_bar(mapping = aes(x = cntry, fill = impfun_tri), position = "fill") +
labs(title = "Wichtigkeit von Spass und Freude, nach Länderzugehörigkeit",
x = "Land", y = "", fill = "Wichtigkeit Spass" ,
caption="Quelle: European Social Survey 2016 (n = 6'326)") +
scale_y_continuous(labels = scales::percent_format()) +
theme_bw()
splot_a_fun
10.2 Interpretiert euer Balkendiagramm inhaltlich. Greift dabei auch auf eure Kreuztabelle zurück.
siehe oben.
11 Welcher der beiden untersuchten Zusammenhänge ist stärker?
der zweite (vgl. Cramers V)
Conforti, E., De Min, N., Dürr, R., Siefart, F., Strassmann-Rocha, D., Giesselmann, M. (2020): “R für das Soziologiestudium an der UZH”
unter Mitarbeit von Mara Moos und Sebastian Senn