invisible header
ESS-Daten der Welle 8 (2016) im Stata-Format einlesen.
# Working directory setzen (z.B. "c:\daten")
setwd("mein_laufwerk/mein_datenverzeichnis")
# Daten einlesen
library(haven)
ess_edit1 <- read_dta("ESS8e02_1.dta")
Ein neues Übungsskript erstellen.
# Statistik 1: R Tutorat
# Übungsskript zum Mittelwertvergleich
# Datum: XX.XX.XXXX
# AutorIn: XXX
Installation und Aktivierung der Packages tidyverse und ggplot2.
#install.packages("tidyverse")
library(tidyverse)
#install.packages("ggplot2")
library(ggplot2)
In dem folgenden Anwendungsbeispiel (II.) werden wir uns mit dem Einfluss der Elternschaft auf die Wahrnehmung des Klimawandels auseinandersetzen.
1. Erstellt in einem ersten Arbeitsschritt über den filter() Befehl aus dem dplyr Package einen Teildatensatz mit ausschliesslich den Befragungspersonen aus der Schweiz (“ess_ch”).
ess_ch <- filter(ess_edit1, ess_edit1$cntry == "CH")
Mit dem filter()-Befehl aus dem Package tidyverse bzw. dplyr können wir die gewünschte Variablenausprägung spezifizieren, um einen Teildatensatz zu erstellen. Dieser wird “ess_ch” benannt.
2. Differenziert aus diesem Schweizer Teildatensatz noch ein weiteres Subset:
ess_par <- select(ess_ch, chldhhe, wrclmch)
Mit dem select()-Befehl aus dem Package tidyverse bzw. dplyr können wir die gewünschten Variablen auswählen, um daraus einen Teildatensatz zu erstellen.
1 Verschafft euch mithilfe zuerst eine geeignete Übersicht über die einzelnen Ausprägungen der relevanten Variablen chldhhe und wrclmch.
Gibt es Werte, welche als NAs rekodiert werden können/sollten? Falls ja rekodiert diese.
Faktorisiert und benennt zuletzt noch die Labels der Elternvariable chldhhe.
Ihr dürft die Variablen umbenennen, wenn es euch hilfreich erscheint.
attributes(ess_par$chldhhe)
## $label
## [1] "Ever had children living in household"
##
## $format.stata
## [1] "%14.0g"
##
## $labels
## Yes No Not applicable Refusal Don't know
## 1 2 NA NA NA
## No answer
## NA
##
## $class
## [1] "haven_labelled" "vctrs_vctr" "double"
summary(ess_par$chldhhe)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 1.000 1.000 2.000 1.577 2.000 2.000 525
prop.table(table(ess_par$chldhhe))
##
## 1 2
## 0.423 0.577
ess_par$chldhhe <- factor(ess_par$chldhhe,
levels = c(1,2),
labels = c("Yes", "No"))
Die Variable chldhhe hat die Ausprägungen 1 (ja, Kinder haben mal im Haushalt gelebt) und 2 (nein, keine Kinder haben mal im Haushalt gelebt). Alle missing sind richtig kodiert. Da es sich hierbei um eine kategoriale Variable handelt, können wir den durschnitt aus dem summary-Befehl nicht sinnvoll interpretieren, aber wir können sehen, dass chldhhe 525 Missings hat. Um die Verteilung der Variable zu ermitteln, ist es sinnvoll hier Anteilswerte zu berechnen. Konkret geben 42% der Befragten an, schon mal mit Kinder gelebt zu haben, während für die restlichen 57% dies nicht der Fall ist.
Anmerkung: Bei der Variable chldhhe handelt es sich nicht um eine Variable, welche die Elternschaft direkt abfragt. So wird viel mehr danach gefragt, ob im Haushalt der Befragungsperson jemals Kinder gelebt haben. Doch aufgrund nichtvorhandener alternativer Variablen, welche die Elternschaft direkt abbilden, wird die Variable chldhhe an dieser Stelle als Proxy-Variable für Elternschaft verwendet. Das sollte jedoch bei der Interpretation der Ergebnisse berücksichtigt werden.
attributes(ess_par$wrclmch)
## $label
## [1] "How worried about climate change"
##
## $format.stata
## [1] "%18.0g"
##
## $labels
## Not at all worried Not very worried Somewhat worried Very worried
## 1 2 3 4
## Extremely worried Not applicable Refusal Don't know
## 5 NA NA NA
## No answer
## NA
##
## $class
## [1] "haven_labelled" "vctrs_vctr" "double"
summary(ess_par$wrclmch)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 1.000 3.000 3.000 3.119 4.000 5.000 27
Der Range der Problemwahrnehmungsvariable bzgl. des Klimawandels
(wrclmch) der Befragungsperson geht von 1 bis 5. Der
Durchschnitt beträgt 3.12, der Median 3, was Personen, mit etwas Sorge
für den Klimawandel entspricht. wrclmch hat 27
Missings.
Beide Variablen müssen nicht rekodiert werden.
2. Entfernt alle NAs aus dem Teildatensatz “ess_par” und dokumentiert die Veränderung in der Anzahl Fälle.
ess_par_clean <- na.omit(ess_par)
Die Fallzahl sinkt von 1525 auf 985, was einer Reduktion der Beobachtungen um n = 540 (bzw. 35.5%) entspricht. Diese Reduktion hängt damit zusammen, dass wir in der Variable chldhhe viele Missings haben. Das ist in diesem Fall für die Analyse des Zusammenhangs zweier Variablen kein Problem, da die Stichprobe noch genügend gross ist.
3. Wir wollen nun genauer untersuchen, ob sich in unserer Stichprobe ein Unterschied zwischen Eltern / kinderlosen Befragungspersonen hinsichtlich ihrer Problemwahrnehmung des Klimawandels aufzeigt.
3.1 Stellt zunächst eine Vermutung über den Zusammenhang zwischen Elternstatus und Problemwahrnehmung des Klimawandels auf (symmetrisch/asymmetrisch & Richtung).
Vermutung:
Es wäre zu erwarten, dass sich Eltern grössere Sorgen um den Klimawandel
machen, da sie sich mehr Sorgen um die Zukunft ihrer Kinder machen, als
dies bei kinderlosen Personen der Fall ist (HA).
Die Nullhypothese würde davon ausgehen, dass kein Unterschied zwischen
Eltern und kinderlosen Befragungspersonen bezüglich ihrer Einstellung
zum Klimawandel besteht (H0).
3.2 Visualisiert dafür in einem ersten Schritt die Mittelwertverteilung der Variable wrclmch über die beiden Ausprägungen der Elternschaftsvariable mithilfe eines Boxplots geom_boxplot() oder alternativ mithilfe eines Violinplots geom_violin().
Werden ausgehend von diesen Visualisierungen bereits erste Trends ersichtlich?
box <- ggplot(ess_par_clean,
aes(y = wrclmch, x = chldhhe)) +
geom_boxplot(colour = "blue", fill = "orange") +
labs(y = "Sorge um den Klimawandel",
x = "Elternschaft",
title = "Verteilung Sorge um den Klimawandel nach Elternschaft",
caption = "Quelle: European Social Survey 2016 (n=1498)") +
ylim(1, 5) +
theme_bw()
box
Der Boxplot deutet darauf hin, dass Eltern in der Verteilung mehr Streuung aufweisen, als kinderlose Personen. So befinden sich 50% der Fälle der Eltern zwischen einer Sorge um den Klimawandel von 2 (1.Quartil) bis 4 (3.Quartil), während 50% der kinderlosen Personen zwischen 3 und 4 streuen.
hist <- ggplot(ess_par_clean,
aes(x = wrclmch, fill = chldhhe)) +
geom_histogram(alpha=0.3, position="identity", bins = 5,
) +
labs(x = "Sorge um den Klimawandel",
y = "Anzahl",
title = "Verteilung Sorge um den Klimawandel nach Elternschaft",
caption = "Quelle: European Social Survey 2016 / Teilstichprobe Schweiz (n=1498)") +
scale_x_continuous(breaks = seq(1,5,1)) +
scale_y_continuous(breaks = seq(0,500,50)) +
labs(fill="Eltern")+
theme_bw()
hist
Das Histogramm verdeutlicht die ungleichmässige Belegung der UV. Darüberhinaus wird deutlich, dass die hohen Kategorien 4 und 5 der AV (“grosse Klimasorgen”) bei den kinderlosen Personen verhältnismässig stärker besetzt sind.
violin <- ggplot(ess_par_clean,
aes(y = wrclmch, x = chldhhe)) +
geom_violin(colour = "blue", fill = "orange") +
labs(y = "Sorge um den Klimawandel",
x = "Elternschaft",
title = "Verteilung Sorge um den Klimawandel nach Elternschaft",
caption = "Quelle: European Social Survey 2016 (n=1498)") +
ylim(1, 5) +
stat_summary(fun.y=mean, geom="point", shape=23, size=2) +
theme_bw()
violin
Der Violinplot weist darauf hin, dass der Median der Klimasorgen unter den kinderlosen Personen minimal höher liegt. Darüberhinaus ist offensichlich, dass sich der Violinplot durch seine Vereinfachungen nicht für die Darstellung einer 5-poligen abhängigen Variable eignet.
Entgegen unserer Hypothese lassen die Darstellungen vermuten, dass kinderlose Personen eine höhere Sorge um den Klimawandel aufweisen, als Eltern.
3.3 Bestimmt nun, ob es sich um eine gepaarte oder ungepaarte Stichprobe handelt. Führt mithilfe des t.test()-Befehls einen entsprechenden Mittelwertvergleich durch. Interpretiert diesen inhaltlich und in Rückbezug auf die im Aufgabenteil 3.1 formulierte Vermutung hinsichtlich des Zusammenhangs zwischen den beiden Variablen.
t.test(formula = wrclmch ~ chldhhe, var.equal = TRUE, data = ess_par_clean)
##
## Two Sample t-test
##
## data: wrclmch by chldhhe
## t = -2.5371, df = 983, p-value = 0.01133
## alternative hypothesis: true difference in means between group Yes and group No is not equal to 0
## 95 percent confidence interval:
## -0.24744530 -0.03160776
## sample estimates:
## mean in group Yes mean in group No
## 3.048193 3.187719
Es handelt sich um eine ungepaarte/unabhängige Stichprobe.
Interpretation:
Conforti, E., Siefart, F., De Min, N., Dürr, R., Moos, M., Senn, S., Strassmann-Rocha, D., Giesselmann, M. (2022): “R für das Soziologiestudium an der UZH”