Pfadanalyse mit R lavaan
2. Vergleich von Pfaden (Signifikanztest auf unterschiedliche Pfadgewichte)
Arndt Regorz, Dipl. Kfm. & MSc. Psychologie, 21.12.2021
Dieses ist eine Begleitseite zum Video-Tutorial über den Vergleich von Pfaden in der Pfadanalyse mit lavaan.
(Hinweis: Mit Anklicken des Videos wird ein Angebot des Anbieters YouTube genutzt.)
R-Code aus dem Video-Tutorial
Hier ist der gesamte Code aus dem Video-Tutorial:
library(lavaan)
meine_daten <- read.csv("simulationsdaten_pfadanalyse.csv", header = TRUE)
head(meine_daten)
# Modell
mein_modell <- '
# Gerichtete Effekte
MED ~ IV1 + IV2
DV1 ~ MED + IV1
DV2 ~ MED
# Kovarianzen
DV1 ~~ DV2
'
model_fit <- sem(data = meine_daten, model = mein_modell)
# Summary mit Fit-Indizes, denn vor einem Vergleich muss das Modell zu den
# Daten passen
summary(model_fit, fit.measures = TRUE)
#Visualisieren
library(tidySEM)
pfad_layout <- get_layout("IV1", "", "DV1",
"", "MED", "", "IV2", "", "DV2",
rows = 3)
graph_sem(model = model_fit, layout = pfad_layout)
# Vergleich a-Pfade Gleichheitsrestriktion Vs. 1
mein_modell2 <- '
# Gerichtete Effekte
MED ~ gleich * IV1 + gleich * IV2
DV1 ~ MED + IV1
DV2 ~ MED
# Kovarianzen
DV1 ~~ DV2
'
model_fit2 <- sem(data = meine_daten, model = mein_modell2)
summary(model_fit2)
#Visualisieren
library(tidySEM)
pfad_layout <- get_layout("IV1", "", "DV1",
"", "MED", "", "IV2", "", "DV2",
rows = 3)
graph_sem(model = model_fit2, layout = pfad_layout)
#Vergleich der beiden Modelle
lavTestLRT(model_fit, model_fit2)
# Vergleich a-Pfade Gleichheitsrestriktion Vs. 2
mein_modell3 <- '
# Gerichtete Effekte
MED ~ a1 * IV1 + a2 * IV2
DV1 ~ b1 * MED + c11 * IV1
DV2 ~ b2 * MED
# Kovarianzen
DV1 ~~ DV2
#Gleichheitsrestriktion
a1 == a2
'
model_fit3 <- sem(data = meine_daten, model = mein_modell3)
summary(model_fit3)
#Vergleich der beiden Modelle
lavTestLRT(model_fit, model_fit3)
# Vergleich a-Pfade Kontrast
mein_modell4 <- '
# Gerichtete Effekte
MED ~ a1 * IV1 + a2 * IV2
DV1 ~ b1 * MED + c11 * IV1
DV2 ~ b2 * MED
# Kovarianzen
DV1 ~~ DV2
#Kontrast
kontr_a2_a1 := a2 - a1
'
model_fit4 <- sem(data = meine_daten, model = mein_modell4)
summary(model_fit4)
Weitere Tutorials zur Pfadanalyse mit lavaan:
Pfadanalyse mit R / lavaan 1: Einführung
Pfadanalyse mit R / lavaan 3: Voraussetzungen und robuste Verfahren
Pfadanalyse mit R / lavaan 4: Moderation
Pfadanalyse mit R / lavaan 5: Mediation