Vorbereitung
Bitte laden Sie den folgenden Datensatz, um die Übungen zu den (Semi-)Partialkorrelationen mit den Big-Five-Persönlichkeitsdimensionen durchzuführen. Hinweis: Um das Ganze etwas übersichtlicher zu gestalten, betrachten wir einen gekürzten Datensatz. Im Datensatz befinden sich 15 Items aus dem Big-5 Persönlichkeitsfragebogen. Es werden von den 10 Items pro Facette jeweils die ersten drei verwendet.
# Datensatz laden
load(url("https://pandar.netlify.app/daten/Big5_EFA.rda"))
# Paket für Partial- und Semipartialkorrelationen laden
install.packages("ppcor")
library(ppcor)
Aufgabe 1: Partialkorrelation
Untersuchen Sie den Zusammenhang zwischen Extraversion und Neurotizismus, wobei der Einfluss von Gewissenhaftigkeit herauspartialisiert werden soll.
- Berechnen Sie zunächst die Mittelwerte für die Skalen Extraversion (
E1,E2,E3), Neurotizismus (N1,N2,N3) und Gewissenhaftigkeit (C1,C2,C3). - Berechnen Sie anschließend die Partialkorrelation.
Lösung
# Mittelwertskalen bilden
Big5$extraversion <- rowMeans(Big5[, c("E1", "E2", "E3")])
Big5$neurotizismus <- rowMeans(Big5[, c("N1", "N2", "N3")])
Big5$gewissenhaft <- rowMeans(Big5[, c("C1", "C2", "C3")])
# Partialkorrelation: Extraversion und Neurotizismus, kontrolliert für Gewissenhaftigkeit
pcor.test(x = Big5$extraversion, # Das Outcome
y = Big5$neurotizismus, # Die Prädiktorvariable
z = Big5$gewissenhaft) # wird aus X und Y auspartialisiert
Aufgabe 2: Semipartialkorrelation
Untersuchen Sie den Zusammenhang zwischen Offenheit (O1, O2, O3) und Verträglichkeit (A1, A2, A3), wobei der Einfluss von Neurotizismus nur aus der Variable Verträglichkeit kontrolliert wird.
- Bilden Sie die fehlenden Skalenmittelwerte.
- Berechnen Sie anschließend die Semipartialkorrelation
Lösung
# Skalenmittelwerte bilden
Big5$offenheit <- rowMeans(Big5[, c("O1", "O2", "O3")])
Big5$vertraeglichkeit <- rowMeans(Big5[, c("A1", "A2", "A3")])
# Semipartialkorrelation: Offenheit und Verträglichkeit, kontrolliert für Neurotizismus (nur aus Offenheit)
spcor.test(x = Big5$offenheit, # Outcome
y = Big5$vertraeglichkeit, # Prädiktor
z = Big5$neurotizismus) # wird aus Y, aber nicht X auspartialisiert
Aufgabe 3: Tabelle aller Partialkorrelationen
- Bitte erstellen Sie einen reduzierten Datensatz, welcher nur die zuvor erstellten Skalenwerte beinhaltet
- Geben Sie sich auf Basis des reduzierten Datensatzes nun eine Tabelle mit allen Partialkorrelationskoeffizienten aus
Lösung
Interpretation: Aus jedem Partialkorrelationspaar in der Tabelle wurden alle übrigen Variablen herauspartialisiert. Beispiel: Die Korrelation zwischen neurotizismus und extraversion, wurde bereinigt um offenheit, vertraeglichkeit und gewissenhaftigkeit.
# Erstellen des reduzierten Datensatzes
Big5_Skalen <- Big5[, c("extraversion", "neurotizismus", "gewissenhaft", "offenheit", "vertraeglichkeit")]
# Tabelle der Partialkorrelationen
pcor_table <- pcor(Big5_Skalen)
pcor_table$estimate |> round(3) # Die Funktion gibt auch p-Werte etc. aus. Wir extrahieren mit '$estimate' nur den Teil des Outputs, der die Partialkorrelationen enthält und runden diese Ergebnisse.
Aufgabe 4: Rolle der Semipartialkorrelation in der Regression
In Aufgabe 2 wurde die Semipartialkorrelation zwischen Offenheit und Verträglichkeit, kontrolliert für Neurotizismus, berechnet.
Zeigen Sie nun den Zusammenhang zur multiplen Regression:
- Schätzen Sie ein Regressionsmodell mit Offenheit als Kriterium und Neurotizismus sowie Verträglichkeit als Prädiktoren.
- Erstellen Sie anschließend zusätzlich ein reduziertes Modell ohne Verträglichkeit, um das Inkrement in R^2 durch Verträglichkeit zu bestimmen.
- Vergleichen Sie die quadrierte Semipartialkorrelation (sr^2) aus Aufgabe 2 mit dem inkrementellen Varianzbeitrag von Verträglichkeit.
Lösung
# Multiples Regressionsmodell mit zwei Prädiktoren
mod2 <- lm(offenheit ~ neurotizismus + vertraeglichkeit, data = Big5)
# Ausgabe des R^2
summary(mod2)$r.squared
R2_full <- summary(mod2)$r.squared
# Wiederholung Semipartialkorrelation aus Aufgabe 2: Offenheit und Verträglichkeit, kontrolliert für Neurotizismus
sp <- spcor.test(
x = Big5$offenheit,
y = Big5$vertraeglichkeit,
z = Big5$neurotizismus
)$estimate
# Ausgabe Quadrat der Semipartialkorrelation (sr^2)
sp^2
# Vergleich mit dem inkrementellen Varianzbeitrag von Verträglichkeit im Modell
# (Unterschied im R^2 mit und ohne Vertraeglichkeit)
R2_reduced <- summary(lm(offenheit ~ neurotizismus, data = Big5))$r.squared
# Ausgabe des Inkrements
increment <- R2_full - R2_reduced
# Ausgabe der quadtrierten Semipartialkorrelation und des inkrementellen Varianzbeitrags
c(sr2 = sp^2, inkrement_R2 = increment)