invisible header

Dies ist das Dokument mit Lösungen

Klick hier, um die Musterlösungen auszublenden.

 

Zur Vorbereitung

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)

 

I. Daten Vorbereitung

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.

 

II. Anwendungsbeispiel - Elternschaft & Klimawandel

1 Verschafft euch mithilfe zuerst eine geeignete Übersicht über die einzelnen Ausprägungen der relevanten Variablen chldhhe und wrclmch.

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:
Die Ergebnisse des t-tests stützen unsere Vermutung hinsichtlich des Zusammenhangs zwischen Elternschaft und Sorge um den Klimawandel nicht. Wir erkennen einen Mittelwertunterschied in der Sorge um den Klimawandel von 0.14 Skalenpunkten zugunsten von Personen, welche nie Kinder in ihrem Haushalt hatten. Das Ergebnis widerspricht also bereits in der Tendenz unseren Erwartungen; die Alternativhypothese wird folglich nicht gestützt bzw. die Nullhypothese nicht abgelehnt. Hätten wir auf Basis theoretischer Vorüberlegungen eine umgekehrt gerichtete Alternativhypothese - Kinderlose machen sich mehr Sorgen (z.B. weil diese im Schnitt jünger sind…) - formuliert, könnten wir die entsprechende Nullhypothese (Kinderlose machen sich nicht mehr Sorgen) auf einem 5%-Signifikanzniveau verwerfen.

 

logo.knit

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”