invisible header
Klick hier, um die Musterlösungen einzublenden.
ESS8-Datensatz einlesen.
Working directory setzen (z.B. "C:/daten")
setwd("mein_laufwerk/mein_datenverzeichnis")
# Daten einlesen
library(haven)
ess8 <- read_dta("ESS8e02_2.dta")
Ein neues Übungsskript erstellen.
# Statistik 2: R Tutorat
# Übungsskript zum Thema Multivariate Regression und Drittvariablen
# Datum: 25.05.2021
# AutorIn: XXX
Installiert die Packages dplyr, ggplot2, rgl, visreg, ggpubr, table1, stargazer und aktiviert sie. Ladet den ESS-Datensatz ein.
# install.packages("dplyr")
library(dplyr)
# install.packages("ggplot2")
library(ggplot2)
# install.packages("rgl")
library(rgl)
# install.packages("visreg")
library(visreg)
# install.packages("ggpubr")
library(ggpubr)
# install.packages("table1")
library(table1)
# install.packages("stargazer")
library(stargazer)
1. In dieser Übung analysierst Du den Einfluss von Bildung auf Religiösität. Formuliere eine Hypothese dazu und begründe diese kurz.
2. Begründe das Geburtsjahr und die elterliche Bildung als Störmerkmale des Zusammenhangs von Bildung und Religiösität
3. Warum ist das individuelle Erwerbseinkommen für diesen Zusammenhang kein Störmerkmal?
4. Wir untersuchen die Hypothese auf Basis der Schweiz, operationalisieren Generationenzugehörigkeit über das Alter, Bildung über die Bildungsjahre, elterliche Bildung über den Bildungsabschluss des Vaters und den Grad an Religiösität über eine subjektive Selbsteinschätzung. Erstelle folglich einen neuen Teildatensatz namens “ess8_CH”, in dem:
Wie viele Merkmalsträger sind in diesem neuen Datensatz?
5. Überprüfe, ob die Variablen rlgdgr und eiscedf richtig kodiert sind
5.1 Die väterliche Bildung liegt nicht über
Bildungsjahre operationalisiert in den Daten vor: bei der
Bildungsmessung nach “ISCED” handelt es sich um eine
ordinale (also nicht-metrische) Variable, welche wir
nicht einfach in ein lineares Regressionsmodell integrieren können,
denn: die Abstände zwischen den einzelnen Messpunkte der ISCED-Skala
sind nicht einheitlich, genau dies setzt allerdings die Berechnung und
Interpretation eines Regressionskoeffizienten voraus. Wir müssen die
Variable daher vorab metrisieren bzw. die einzelnen
Ausprägungen in einer neuen Variable nach Bildungsjahren
rekodieren.
Erweitere also den ess8_CH Datensatz um eine Variable
für väterliche Bildung, in welcher die ISCED Werte nach Bildungsjahren
umkodiert sind. Die Umwandlung kann in Anlehnung an den
Umrechnungsschlüssel des bfs erfolgen: https://www.bfs.admin.ch/bfs/de/home/statistiken/bildung-wissenschaft/bildungssystem.html):
table(ess8_CH$eiscedf) # Ausprägungen vor Umkodierung
ess8_CH$eiscedf <- as.numeric(ess8_CH$eiscedf) # Umwandlung in numeric, da sonst recode() nicht funktioniert
ess8_CH$eduyrsf <- recode(ess8_CH$eiscedf,
'1'=8,
'2'=11,
'3'=15,
'4'=15,
'5'=15,
'6'=18,
'7'=20)
table(ess8_CH$eduyrsf) # Ausprägungen nach Umkodierung
Für die metrisierte Variable müssen wir die Ausprägung 55 in ein NA umwandeln. Schliesslich vergeben wir noch ein Label für die Variable, damit sie auch in den Rohoutputs gut lesbar ist:
ess8_CH$eduyrsf[ess8_CH$eduyrsf==55] <- NA
library(labelled)
var_label(ess8_CH$eduyrsf) <- "Father years of full-time education"
6. Erstelle nun mit table1() die Stichprobenübersicht zu den univariaten Statistiken der vier Variablen
7. Stichprobenharmonisierung: Erstelle nun einen neuen Datensatz “ess8_noNA”, aus dem alle Personen mit NA in einer der analyserelevanten Variablen ausgeschlossen sind
1. Analysiere den Zusammenhang zwischen Bildung und Religiösität auf Basis einer bivariaten Regressionsanalyse. Weise dem Modell den Namen “bi_model” zu. Interpretiere den Regressionskoeffizienten.
2. Visualisiere den bivariaten Zusammenhang. Achte auf angemessene Beschriftung und Formatierung deines Plots.
1. Integriere nun das Alter, als Indikator für das Störmerkmal “Generation”, in die Regressionsanalyse als Kontrollvariable. Speichere das Regressionsergebnis, z.B. unter dem Namen “multimodel1”.
2. Erstelle mit stargazer() eine Regressionstabelle mit den Koeffizienten beider Analysen
3. Kopiere und Finalisiere die Tabelle in einem separaten Textfile
4. Werte deine (vorläufige) Regressionstabelle aus:
5. Erstelle nun einen “Conditional Effect Plot” für dem Einfluss der Bildung im trivariaten Modell.
Hinweis: Achte darauf, in der Beschriftung des Plots anzugeben, welche Variable konstant gehalten wird.
1. Berechne eine weiteres multivariates Modell mit dem Alter und der väterlichen Bildung als Kontrollvariablen. Benenne es z.B. “multimodel2”.
2. Integriere nun das multimodel2 in deine Regressionstabelle
3. Interpretiere den Bildungskoeffizienten der dritten Analyse im Kontext der gesamten Modellreihe.
4. Wie religiös ist laut unserem Regressionsfit eine Person mit 15 Bildungsjahren im Alter von 24 Jahren, deren Vater 13 Bildungsjahre aufweist? In welchem Intervall liegt der Religiösitätsscore dieser Person mit 50% Sicherheit? Wo liegt der für Sie vorhergesagte Religiösitätsscore? Wo der Ihrer Mutter? Finden Sie sich in diesen Vorhersagen wieder?
6. Visualisiere den Koeffizienten des finalen Modells, also den letztendlichen hypothesenbelastenden Effektschätzer deiner Regressionsanalyse
7. Zur Verdeutlichung der Kontrollwirkung der integrierten Drittvariablen integriere zusätzlich die Regressionsgerade des unbereinigten Zusammenhangs in den Plot `
8. Speichere nun deinen konditionalen Effektplot über die Syntax als jpeg mit Länge 10cm, Breite 15cm und einer Auflösung von 1200ppi in deine working directrory und kopiere ihn beliebig in Folien, Poster, Dokumente etc.
BONUS. Visualisiere nun die Ergebnisse der trivariaten Regression (Religiosität ~ Bildung + Alter) in einem 3D-Plot. Bilde die Punktwolke, wie auch Regressionsebene ab. Beschrifte die Achsen auf passende Art und Weise. Vergegenwärtige dir nochmal die Bedeutung der Regressionsebene und ihrer beiden Neigungen, sowie überhaupt die multivariate Kontrolllogik der multiplen Regression.
Conforti, E., Siefart, F., De Min, N., Dürr, R., Hofer, L., Rauh, S., Senn, S., Strassmann Rocha, D., Giesselmann, M. (2023): “Regressionsanalysen mit R”