knitr::opts_chunk$set(echo = TRUE)
Gruppe SozPsy1 (die Banduras)
Ennio Albrecht, Gerolf Glöckner, Leander Gosch, Lennard Hahn, Sylvia Koselleck, Alexander Weigandt
Zur Prüfung unserer gemeinsamen Hypothesen verwendeten wir den Datensatz “d” so, wie er während des Workshops in Hagen (12.12. und 13.12.2025) unter Leitung von Dr. Jan-Bennet Voltmer bereinigt und durch Testwerte ergänzt worden war.
Aufgabenstellung: Erstellen Sie daher ein Auswertungsskript (vorzugsweise ein R Notebook das direkt die Abbildungen enthält!), das Folgendes tut:
Erstellen Sie geeignete Plots (i.d.R. Histogramme oder Boxplots) zur Prüfung der Verteilungen der relevanten Skalenwerte. Wenden Sie ggf. notwendige Selektionskriterien an. Erstellen Sie geeignete Plots (i.d.R. Boxplots oder Streu/Liniendiagramme) zur Prüfung der Zusammenhänge Prüfen Sie die o.g. Zusammenhänge statistisch. Prüfen Sie die Voraussetzungen für die von Ihnen angewandten Verfahren. Optional: Explorieren Sie weitere Fragestellungen! Bitte laden Sie hier Ihre R- oder SPSS-Syntax - am liebsten als .HTML oder .PDF-Datei - hoch. Gerne können Sie auch eine .zip-Datei mit Ihrem gesamten Projektordner hochladen. Bitte kontrollieren Sie dann unbedingt, dass dieser Ordner mindestens die folgenden Dateien enthält:
Projektdatei, Endung .RProj
Syntaxdatei(en), Endung: .R
Datendateien, Endung: .RData, .RDa oder .sav
Output-Datei, Endung: .HTML oder .PDF
# Pakete laden
pacman::p_load(tidyverse
,haven
,psych
,corx
,labelled
,desctable
,sjPlot
,lubridate
,car
,lavaan
,lavaanPlot
,emmeans
,lmerTest
,jtools) # Hier werden die Pakete geladen
# Daten importieren
load("Data/d_incl_scores.Rda")
# Nochmalige Datenbereinigung vor der Auswertung, damit keine ungeeigneten Datensätze in die Berechnungen/Hypothesenprüfung eingehen:
# zusätzlich: Variable für Klimaangst insgesamt (Mittelwert der Mittelwerte)
d <- d %>%
mutate(
anx_gesamt = rowMeans(
select(., anx_v_aff_mean, anx_v_bee_mean, anx_v_beh_mean,
anx_v_cog_mean, anx_v_phy_mean),
na.rm = TRUE
)
)
summary(d$anx_gesamt)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 1.000 2.000 2.700 2.802 3.550 7.000 4
d %>%
filter(is.na(anx_gesamt))
# 4 Teilnehmende haben keins der Items zu Klimaangst beantwortet. Da Klimaangst ein wesentlicher Bestandteil der Untersuchung ist, müssen diese Teilnehmenden von der weiteren Auswertung ausgeschlossen werden, selbst wenn sie andere Fragen, z.B. zu Umweltidentität oder Sozialen Normen, umfassend beantwortet haben.
d <- d %>%
filter(!is.na(anx_gesamt))
# d hat jetzt noch 1029 obs
filter(d, alter_jahre < 15)
# 0 Reihen
Überprüfung, ob präregistrierte Ausschlusskriterien verletzt wurden
Folgende Teilnehmende werden von der Auswertung ausgeschlossen: Krit1
- Antworttendenzen: bei den Likert-skalierten zu mehr als 90% Antwort
“1” gewählt oder max (5 oder 7)
Krit2 - bei den für uns relevanten Variablen für Klimaangst,
Karriereabsichten, PEB, soziale Normen, Umweltidentität wurde (jeweils)
keine Antwort gegeben Krit3 - Antworten auf “d$norm_injun2” und
“d_norm_injun3” ergeben einen logischen Widerspruch Krit4 -
Bearbeitungszeit unter 5 Minuten/50% der vorgesehenen durchschnittlichen
Bearbeitungszeit
# Krit1 - Antworttendenzen
d_Likert <- select(d,klima_eins1:karr_unt_p4, karr_entsc1:klima_verh3)
structure(d_Likert)
# 63 Variablen, range 1 bis 7, es soll bei mindestens 10% der Items (=6) mindestens Antwort 2 gewählt sein. 57 + 12 = 69
d_Likert$sum <- rowSums(d_Likert, na.rm = TRUE #fehlende Werte sollen nicht als Antworttendenz angesehen werden
)
summary(d_Likert$sum)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 70.0 167.0 191.0 191.9 219.0 301.0
filter(d_Likert, d_Likert$sum < 70)
# ergibt 0 Reihen
# besonders hohe Werte? Maximal erreichbar sind 320, 90% = 288
filter(d_Likert, d_Likert$sum > 288)
# 3 Reihen, die aber keine offensichtlichen Antworttendenzen aufweisen, daher kein Ausschluss
#Krit2 - fehlende relevante Variablen
.2*124
## [1] 24.8
# 20 % von 124 vars = 24.8
d <- d %>%
mutate(n_missing = rowSums(is.na(across(everything()))))
hist(d$n_missing)
d %>%
filter(n_missing > 24)
# sind diese Werte für uns relevant?
# 3 Reihen, es sind aber keine Teilnehmenden dabei, die keine der für uns relevanten Fragen beantwortet haben. Bei der #Berechnung der Mittelwerte war es ausreichend, wenn mindestens ein Item beantwortet war. Sie werden daher (zunächst) im Datensatz belassen.
#Krit3 - logischer Widerspruch
d %>%
select(norm_injun2,norm_injun3)
# "sehr wahrscheinlich" befürworten und ablehnen von beruflichem Einsatz für Klimaschutz
d %>%
filter(norm_injun2 == 5 & norm_injun3 == 1)
# 0 Reihen
# Krit4 - Bearbeitungszeit
# weniger als 5 Minuten:
d %>%
filter(duration.t1 < 300)
# streng genommen müssten diese ausgeschlossen werden, da so präregistriert, aaaber Begründung "keine ernsthafte Teilnahme unter 5 Minuten möglich" erfolgte willkürlich und wird deshalb revidiert
# ergibt 26 Reihen, aber vielleicht wurde nur sehr schnell und trotzdem ernsthaft bearbeitet, daher zusätzlich Überprüfung von n_missing. 20% von 124 variables = 24.8
d %>%
filter(duration.t1 < 300 & n_missing > 24)
# 2 Reihen, sind diese fehlenden Werte für uns relevant?
# lfdn 129; 131. Die Bearbeitungszeit ist sehr gering (78; 75) und die Zahl der missings hoch (71;88)
# -> Ausschluss:
d_clean <- d
d_clean %>%
filter(duration.t1 < 300 & n_missing > 24)
d_clean <- d_clean %>%
filter(!(duration.t1 < 300 & n_missing > 24))
# jetzt noch 1027 obs
d_clean %>%
filter(duration.t1 < 300 & n_missing > 24)
# ergibt jetzt 0 Reihen
d <- d_clean
#install.packages("pwr")
library(pwr)
## Warning: Paket 'pwr' wurde unter R Version 4.4.3 erstellt
# Power der Stichprobengröße für Korrelation r und Regression/Moderation f²
# Beispiel: r = .10
pwr.r.test(
r = 0.10,
n = 1027,
sig.level = 0.05,
alternative = "two.sided"
)
##
## approximate correlation power calculation (arctangh transformation)
##
## n = 1027
## r = 0.1
## sig.level = 0.05
## power = 0.8947503
## alternative = two.sided
# Beispiel: f² = .02
pwr.f2.test(
u = 1, # Anzahl getesteter Prädiktoren (Interaktion)
v = 1027 - 1 - 1, # N - u - 1
f2 = 0.02, # kleiner Effekt
sig.level = 0.05
)
##
## Multiple regression power calculation
##
## u = 1
## v = 1025
## f2 = 0.02
## sig.level = 0.05
## power = 0.9948841
# ergibt ausreichende Power, um selbst kleine Effekte zu finden. r: power = 0.89, f²: power = 0.99
Bei einem Signifikanzniveau von α = .05 (zweiseitig) und einer Stichprobengröße von N = 1027 weist die Studie eine statistische Power von mindestens .89 zur Detektion kleiner Effekte (r = .10; f² = .02) auf. Die Stichprobe ist damit ausreichend groß, um die Hypothesen zu den Zusammenhängen sowie Moderationseffekten zuverlässig zu überprüfen.
Beschreibung der Stichprobe
d %>%
select(alter_jahre,
kinder_anza,
bildungssta,
arbeit_umfa,
arbeit_art1,
ethnie_kult,
geschlecht1) %>%
desc_table("N" = length,
"%" = percent,
"Mean" = mean,
"sd" = sd) %>%
desc_output(target = "DT")
Da vorangegangene Studien ergaben, dass ein negativer Zusammenhang zwischen Alter und Klimaangst besteht, interessiert uns von den demografischen Angaben besonders die Altersverteilung. Außerdem ist es wünschenswert, bei der Art der Arbeit eine heterogene/repräsentative Stichprobe zu untersuchen (und nicht nur Studierende).
summary(d$alter_jahre)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 15.0 23.0 28.5 32.5 40.0 80.0 9
# 9 Teilnehmende machten keine Altersangabe
d %>%
filter(!is.na(alter_jahre)) %>%
ggplot(aes(x = alter_jahre)) +
geom_histogram(bins = 10) +
labs(
x = "Alter in Jahren",
y = "Häufigkeit"
) +
theme_minimal()
# eventuell hier schon Klimaangst gruppiert nach Alter? Lieber später -> explorativ
# Plot noch nicht sooo schön, Säulen können z.B. noch (farblich?, aber APA mag kein bunt) nach Geschlecht aufgeteilt werden,...
summary(d$arbeit_art1)
## In Ausbildung Student:in
## 52 354
## Angestelle:r/Beamte:r Selbstständig
## 476 49
## Derzeit kein Beschäftigungsverhältnis Sonstiges, und zwar:
## 27 68
## NA's
## 1
ggplot(d, aes(x = arbeit_art1)) +
geom_bar() +
coord_flip() +
labs(
x = "Art der Arbeit",
y = "Häufigkeit"
) +
theme_minimal()
Skalen
# message=FALSE,warning=FALSE lässt die lange Liste mit smoothings verschwinden, die sonst bei nur {r} im Output erscheint
d_skalen <- select(d, klima_wiss1:klima_verh3, klima_wiss_summ:klima_verh_summ, anx_gesamt)
alpha(d_skalen)
## Some items ( future_tim1 future_tim2 future_tim3 karr_finanz karr_sicher karr_status karr_erreic karr_zugang karr_ergebn karr_entwic karr_akzept karr_empfeh karr_akzpee who_wellbe1 who_wellbe2 who_wellbe3 who_wellbe4 future_tim_mean who_wellbe_mean ) were negatively correlated with the first principal component and
## probably should be reversed.
## To do this, run the function again with the 'check.keys=TRUE' option
##
## Reliability analysis
## Call: alpha(x = d_skalen)
##
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
## 0.9 0.95 0.99 0.16 18 0.0043 3.7 0.51 0.13
##
## 95% confidence boundaries
## lower alpha upper
## Feldt 0.89 0.9 0.9
## Duhachek 0.89 0.9 0.9
##
## Reliability if an item is dropped:
## raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## klima_wiss1 0.90 0.95 0.99 0.16 18 0.0043 0.048 0.13
## klima_wiss2 0.90 0.95 0.99 0.16 18 0.0043 0.048 0.13
## klima_wiss3 0.90 0.95 0.99 0.16 18 0.0043 0.048 0.13
## klima_eins1 0.89 0.95 0.99 0.16 18 0.0044 0.048 0.12
## klima_eins2 0.89 0.95 0.99 0.16 18 0.0044 0.048 0.12
## klima_eins3 0.89 0.95 0.99 0.16 18 0.0044 0.048 0.12
## klima_eins4 0.89 0.95 0.99 0.16 18 0.0044 0.048 0.12
## anx_v_aff_1 0.89 0.95 0.99 0.15 17 0.0045 0.047 0.12
## anx_v_aff_2 0.89 0.95 0.99 0.15 17 0.0045 0.047 0.12
## anx_v_aff_3 0.89 0.95 0.99 0.15 17 0.0045 0.047 0.12
## anx_v_aff_4 0.89 0.95 0.99 0.15 17 0.0045 0.047 0.12
## anx_v_cog_1 0.89 0.95 0.99 0.15 17 0.0045 0.047 0.12
## anx_v_cog_2 0.89 0.95 0.99 0.15 17 0.0045 0.047 0.12
## anx_v_cog_3 0.89 0.95 0.99 0.15 17 0.0045 0.047 0.12
## anx_v_cog_4 0.89 0.95 0.99 0.15 17 0.0045 0.047 0.12
## anx_v_beh_1 0.89 0.95 0.99 0.16 18 0.0044 0.048 0.13
## anx_v_beh_2 0.89 0.95 0.99 0.15 17 0.0045 0.047 0.12
## anx_v_beh_3 0.89 0.95 0.99 0.15 17 0.0045 0.047 0.12
## anx_v_beh_4 0.89 0.95 0.99 0.15 17 0.0044 0.047 0.12
## anx_v_phy_1 0.89 0.95 0.99 0.15 18 0.0044 0.048 0.12
## anx_v_phy_2 0.89 0.95 0.99 0.15 18 0.0044 0.047 0.12
## anx_v_phy_3 0.89 0.95 0.99 0.15 18 0.0045 0.047 0.12
## anx_v_phy_4 0.89 0.95 0.99 0.15 17 0.0045 0.047 0.12
## anx_v_bee_1 0.89 0.95 0.99 0.15 18 0.0044 0.047 0.12
## anx_v_bee_2 0.89 0.95 0.99 0.15 18 0.0044 0.048 0.13
## anx_v_bee_3 0.89 0.95 0.99 0.16 18 0.0044 0.048 0.13
## anx_v_bee_4 0.89 0.95 0.99 0.15 18 0.0044 0.047 0.12
## umw_ident_1 0.89 0.95 0.99 0.16 18 0.0044 0.048 0.12
## umw_ident_2 0.89 0.95 0.99 0.16 18 0.0044 0.048 0.12
## umw_ident_3 0.90 0.95 0.99 0.16 18 0.0043 0.048 0.13
## umw_ident_4 0.89 0.95 0.99 0.16 18 0.0044 0.048 0.12
## future_tim1 0.90 0.95 0.99 0.16 18 0.0043 0.048 0.13
## future_tim2 0.90 0.95 0.99 0.16 18 0.0042 0.048 0.13
## future_tim3 0.90 0.95 0.99 0.16 18 0.0042 0.048 0.13
## norm_injun1 0.89 0.95 0.99 0.16 18 0.0044 0.048 0.12
## norm_injun2 0.89 0.95 0.99 0.16 18 0.0044 0.048 0.12
## norm_injun3 0.90 0.95 0.99 0.16 18 0.0043 0.048 0.13
## norm_deskr1 0.89 0.95 0.99 0.16 18 0.0043 0.048 0.12
## norm_deskr2 0.90 0.95 0.99 0.16 18 0.0043 0.048 0.13
## selbstw_in1 0.89 0.95 0.99 0.16 18 0.0044 0.048 0.12
## selbstw_in2 0.89 0.95 0.99 0.16 18 0.0044 0.048 0.12
## selbstw_ko1 0.89 0.95 0.99 0.16 18 0.0044 0.048 0.12
## selbstw_ko2 0.89 0.95 0.99 0.16 18 0.0043 0.048 0.12
## kogn_disso1 0.89 0.95 0.99 0.16 18 0.0044 0.048 0.12
## kogn_disso2 0.89 0.95 0.99 0.15 18 0.0044 0.048 0.12
## kogn_disso3 0.89 0.95 0.99 0.15 18 0.0044 0.048 0.12
## karr_job_p1 0.89 0.95 0.99 0.15 18 0.0044 0.048 0.12
## karr_job_p2 0.89 0.95 0.99 0.15 18 0.0044 0.048 0.12
## karr_job_p3 0.89 0.95 0.99 0.16 18 0.0043 0.048 0.13
## karr_job_p4 0.89 0.95 0.99 0.15 18 0.0044 0.048 0.12
## karr_unt_p1 0.89 0.95 0.99 0.15 18 0.0044 0.048 0.12
## karr_unt_p2 0.89 0.95 0.99 0.15 18 0.0044 0.048 0.12
## karr_unt_p3 0.90 0.95 0.99 0.16 18 0.0043 0.048 0.13
## karr_unt_p4 0.89 0.95 0.99 0.15 18 0.0044 0.048 0.12
## karr_finanz 0.90 0.95 0.99 0.16 19 0.0040 0.047 0.13
## karr_sicher 0.90 0.95 0.99 0.16 18 0.0040 0.048 0.13
## karr_status 0.90 0.95 0.99 0.16 18 0.0040 0.048 0.13
## karr_erreic 0.90 0.95 0.99 0.16 18 0.0040 0.048 0.13
## karr_zugang 0.90 0.95 0.99 0.16 18 0.0040 0.048 0.13
## karr_intere 0.90 0.95 0.99 0.16 18 0.0042 0.048 0.13
## karr_selbst 0.90 0.95 0.99 0.16 18 0.0041 0.048 0.13
## karr_ergebn 0.90 0.95 0.99 0.16 18 0.0041 0.048 0.13
## karr_entwic 0.90 0.95 0.99 0.16 18 0.0041 0.048 0.13
## karr_akzept 0.90 0.95 0.99 0.16 18 0.0040 0.048 0.13
## karr_empfeh 0.90 0.95 0.99 0.16 18 0.0041 0.048 0.13
## karr_akzpee 0.90 0.95 0.99 0.16 18 0.0041 0.048 0.13
## karr_verant 0.90 0.95 0.99 0.16 18 0.0042 0.048 0.12
## karr_umwelt 0.89 0.95 0.99 0.16 18 0.0044 0.048 0.12
## karr_entsc1 0.89 0.95 0.99 0.15 18 0.0044 0.048 0.12
## karr_entsc2 0.89 0.95 0.99 0.15 18 0.0044 0.048 0.12
## karr_entsc3 0.89 0.95 0.99 0.15 18 0.0044 0.048 0.12
## karr_entsc4 0.89 0.95 0.99 0.15 18 0.0044 0.048 0.12
## who_wellbe1 0.90 0.95 0.99 0.16 18 0.0043 0.048 0.13
## who_wellbe2 0.90 0.95 0.99 0.16 18 0.0043 0.047 0.13
## who_wellbe3 0.90 0.95 0.99 0.16 18 0.0043 0.048 0.13
## who_wellbe4 0.90 0.95 0.99 0.16 18 0.0043 0.048 0.13
## who_wellbe5 0.90 0.95 0.99 0.16 18 0.0043 0.048 0.13
## klima_verh1 0.89 0.95 0.99 0.16 18 0.0044 0.048 0.12
## klima_verh2 0.90 0.95 0.99 0.16 18 0.0043 0.048 0.13
## klima_verh3 0.89 0.95 0.99 0.15 18 0.0044 0.048 0.12
## klima_wiss_summ 0.90 0.95 0.99 0.16 18 0.0043 0.048 0.13
## klima_eins_mean 0.89 0.95 0.99 0.15 18 0.0044 0.047 0.12
## anx_v_aff_mean 0.89 0.95 0.99 0.15 17 0.0045 0.047 0.12
## anx_v_cog_mean 0.89 0.95 0.99 0.15 17 0.0045 0.047 0.12
## anx_v_beh_mean 0.89 0.95 0.99 0.15 17 0.0045 0.047 0.12
## anx_v_phy_mean 0.89 0.95 0.99 0.15 17 0.0045 0.047 0.12
## anx_v_bee_mean 0.89 0.95 0.99 0.15 17 0.0044 0.047 0.12
## umw_ident_mean 0.89 0.95 0.99 0.16 18 0.0044 0.048 0.12
## future_tim_mean 0.90 0.95 0.99 0.16 18 0.0043 0.048 0.13
## norm_desin_mean 0.89 0.95 0.99 0.15 18 0.0044 0.048 0.12
## selbstwirks_mean 0.89 0.95 0.99 0.15 18 0.0044 0.048 0.12
## kogn_disso_mean 0.89 0.95 0.99 0.15 18 0.0044 0.047 0.12
## karr_juu_mean 0.89 0.95 0.99 0.15 17 0.0044 0.047 0.12
## karr_entsc_mean 0.89 0.95 0.99 0.15 17 0.0044 0.047 0.12
## who_wellbe_mean 0.90 0.95 0.99 0.16 18 0.0043 0.047 0.13
## klima_verh_summ 0.89 0.95 0.99 0.15 18 0.0045 0.048 0.12
## anx_gesamt 0.89 0.95 0.99 0.15 17 0.0045 0.046 0.12
##
## Item statistics
## n raw.r std.r r.cor r.drop mean sd
## klima_wiss1 1026 0.2007 0.2408 0.242 0.20026 0.95 0.23
## klima_wiss2 1027 0.2654 0.3007 0.302 0.25870 0.86 0.35
## klima_wiss3 1026 0.0947 0.1045 0.105 0.06252 0.45 0.50
## klima_eins1 1026 0.4499 0.4723 0.474 0.43165 4.27 0.92
## klima_eins2 1027 0.4113 0.4405 0.442 0.40387 3.90 1.01
## klima_eins3 1027 0.4887 0.5181 0.520 0.48101 4.07 1.16
## klima_eins4 1027 0.4393 0.4769 0.479 0.44983 4.07 0.98
## anx_v_aff_1 1026 0.7180 0.7159 0.719 0.71876 4.04 1.62
## anx_v_aff_2 1027 0.7246 0.7128 0.716 0.71820 3.89 1.59
## anx_v_aff_3 1024 0.6724 0.6600 0.663 0.66465 3.85 1.71
## anx_v_aff_4 1020 0.7227 0.7101 0.713 0.71889 3.84 1.68
## anx_v_cog_1 1026 0.6482 0.6586 0.661 0.66501 2.30 1.42
## anx_v_cog_2 1024 0.6363 0.6502 0.652 0.65014 3.04 1.48
## anx_v_cog_3 1019 0.6452 0.6454 0.647 0.65193 2.67 1.47
## anx_v_cog_4 1023 0.6737 0.6791 0.681 0.68212 3.27 1.56
## anx_v_beh_1 1025 0.4099 0.3843 0.386 0.38233 2.44 1.59
## anx_v_beh_2 1026 0.6840 0.7064 0.709 0.69352 3.95 1.56
## anx_v_beh_3 1026 0.6694 0.6762 0.679 0.66942 2.74 1.51
## anx_v_beh_4 1024 0.6354 0.6396 0.642 0.63059 2.54 1.36
## anx_v_phy_1 1026 0.5955 0.5875 0.590 0.59052 2.11 1.40
## anx_v_phy_2 1025 0.6170 0.6011 0.604 0.61253 2.16 1.48
## anx_v_phy_3 1024 0.6228 0.6075 0.610 0.61500 2.41 1.61
## anx_v_phy_4 1024 0.6810 0.6705 0.673 0.67564 3.29 1.75
## anx_v_bee_1 1025 0.5672 0.5804 0.583 0.57721 1.81 1.11
## anx_v_bee_2 1023 0.5325 0.5422 0.544 0.54098 1.70 1.09
## anx_v_bee_3 1027 0.4142 0.4284 0.430 0.42470 1.51 0.99
## anx_v_bee_4 1026 0.6126 0.6192 0.622 0.61844 2.28 1.35
## umw_ident_1 1026 0.3466 0.3642 0.366 0.33301 5.40 1.44
## umw_ident_2 1025 0.4977 0.5182 0.520 0.49246 5.61 1.15
## umw_ident_3 1026 0.2659 0.2760 0.277 0.23963 6.34 1.13
## umw_ident_4 1027 0.4347 0.4576 0.459 0.42894 4.38 1.60
## future_tim1 1022 0.1078 0.0578 0.032 0.04095 4.66 1.68
## future_tim2 1025 -0.0260 -0.0355 -0.054 -0.05308 2.67 1.60
## future_tim3 1021 -0.1082 -0.1123 -0.134 -0.13830 2.69 1.51
## norm_injun1 1026 0.4290 0.4689 0.471 0.43416 2.53 1.01
## norm_injun2 1026 0.4194 0.4577 0.459 0.41461 3.39 1.16
## norm_injun3 1025 0.1662 0.1889 0.190 0.14047 4.21 0.95
## norm_deskr1 1024 0.3356 0.3935 0.395 0.35968 1.87 0.87
## norm_deskr2 1027 0.3099 0.3513 0.353 0.31505 1.78 0.70
## selbstw_in1 1026 0.4347 0.4599 0.462 0.41823 3.48 1.03
## selbstw_in2 1027 0.4358 0.4552 0.457 0.41224 3.37 1.10
## selbstw_ko1 1027 0.4352 0.4567 0.459 0.41040 4.17 0.91
## selbstw_ko2 1027 0.3439 0.3684 0.370 0.32930 3.63 1.07
## kogn_disso1 1025 0.4962 0.5096 0.511 0.50529 2.34 1.06
## kogn_disso2 1024 0.5561 0.5646 0.566 0.56179 2.33 1.07
## kogn_disso3 1025 0.5485 0.5548 0.556 0.54904 2.30 1.06
## karr_job_p1 1027 0.5666 0.6052 0.607 0.56479 2.49 1.13
## karr_job_p2 1025 0.5284 0.5719 0.573 0.53821 2.11 1.03
## karr_job_p3 1026 0.3128 0.3570 0.358 0.31642 1.74 1.08
## karr_job_p4 1025 0.5301 0.5659 0.567 0.52397 2.28 1.07
## karr_unt_p1 1025 0.5613 0.6008 0.603 0.55668 2.67 1.20
## karr_unt_p2 1023 0.5689 0.6033 0.605 0.56831 2.22 1.06
## karr_unt_p3 1025 0.3076 0.3472 0.348 0.30333 1.78 1.09
## karr_unt_p4 1027 0.5328 0.5649 0.566 0.52316 2.30 1.07
## karr_finanz 975 -0.2685 -0.2624 -0.279 -0.31392 10.58 2.77
## karr_sicher 971 -0.1289 -0.1294 -0.143 -0.18867 9.48 3.18
## karr_status 962 -0.1462 -0.1373 -0.150 -0.19570 5.35 3.19
## karr_erreic 966 -0.1166 -0.1153 -0.129 -0.17991 8.07 3.38
## karr_zugang 957 -0.0890 -0.0919 -0.105 -0.15609 5.82 3.25
## karr_intere 977 0.0332 0.0398 0.024 -0.02236 12.11 2.57
## karr_selbst 974 0.0703 0.0767 0.064 0.01006 10.00 3.15
## karr_ergebn 964 -0.1006 -0.0965 -0.110 -0.15764 8.64 2.98
## karr_entwic 967 -0.0161 -0.0075 -0.024 -0.06998 9.22 3.00
## karr_akzept 965 -0.1052 -0.1090 -0.122 -0.15538 5.59 3.09
## karr_empfeh 955 -0.0512 -0.0500 -0.067 -0.09450 2.78 2.51
## karr_akzpee 963 -0.0884 -0.0804 -0.098 -0.12587 4.10 2.67
## karr_verant 968 0.3014 0.3016 0.291 0.23565 8.57 3.63
## karr_umwelt 966 0.5003 0.5314 0.521 0.46483 5.41 3.31
## karr_entsc1 1024 0.5216 0.5639 0.566 0.53317 1.89 1.03
## karr_entsc2 1023 0.5867 0.6192 0.622 0.58799 2.13 1.08
## karr_entsc3 1025 0.5595 0.5862 0.589 0.55144 2.10 1.10
## karr_entsc4 1025 0.5682 0.5930 0.595 0.55890 2.21 1.12
## who_wellbe1 1024 0.0356 0.0379 0.038 0.01139 3.91 1.18
## who_wellbe2 1026 -0.0330 -0.0169 -0.017 -0.04282 3.47 1.28
## who_wellbe3 1025 0.0394 0.0562 0.056 0.02726 3.53 1.26
## who_wellbe4 1025 0.0097 0.0295 0.030 -0.00084 3.11 1.40
## who_wellbe5 1026 0.1190 0.1440 0.132 0.11426 3.89 1.23
## klima_verh1 1027 0.4311 0.4531 0.455 0.42457 3.58 0.91
## klima_verh2 1026 0.1466 0.1717 0.172 0.14708 3.42 1.02
## klima_verh3 1027 0.5413 0.5536 0.556 0.54404 2.31 1.09
## klima_wiss_summ 1027 0.2634 0.3011 0.302 0.23579 2.25 0.71
## klima_eins_mean 1027 0.5744 0.6125 0.615 0.57818 4.08 0.80
## anx_v_aff_mean 1027 0.7783 0.7674 0.770 0.78091 3.91 1.50
## anx_v_cog_mean 1027 0.7658 0.7745 0.778 0.79122 2.82 1.26
## anx_v_beh_mean 1027 0.8034 0.8052 0.808 0.81490 2.92 1.12
## anx_v_phy_mean 1027 0.7438 0.7293 0.732 0.74884 2.49 1.32
## anx_v_bee_mean 1027 0.6528 0.6657 0.668 0.67314 1.83 0.94
## umw_ident_mean 1027 0.5027 0.5261 0.528 0.50195 5.43 1.03
## future_tim_mean 1022 0.1078 0.0578 0.032 0.04095 4.66 1.68
## norm_desin_mean 1027 0.5016 0.5603 0.562 0.51779 2.75 0.63
## selbstwirks_mean 1027 0.5175 0.5461 0.548 0.50306 3.66 0.81
## kogn_disso_mean 1027 0.5660 0.5760 0.578 0.57442 2.32 1.00
## karr_juu_mean 1027 0.6117 0.6596 0.662 0.61964 2.20 0.87
## karr_entsc_mean 1027 0.6318 0.6674 0.670 0.63615 2.09 0.96
## who_wellbe_mean 1027 0.0137 0.0310 0.031 0.00699 3.50 1.08
## klima_verh_summ 1027 0.5505 0.5791 0.581 0.54517 9.30 2.06
## anx_gesamt 1027 0.8638 0.8619 0.865 0.88505 2.79 1.07
# ergibt alpha = 0.89 CI = [0.89; 0.9]
# Beschreibung der relevanten Skalen
alpha(d %>%
select(anx_v_aff_mean, anx_v_bee_mean, anx_v_beh_mean, anx_v_cog_mean, anx_v_phy_mean, anx_gesamt,klima_verh_summ, umw_ident_mean, norm_desin_mean, karr_juu_mean, karr_entsc_mean, karr_umwelt))
##
## Reliability analysis
## Call: alpha(x = d %>% select(anx_v_aff_mean, anx_v_bee_mean, anx_v_beh_mean,
## anx_v_cog_mean, anx_v_phy_mean, anx_gesamt, klima_verh_summ,
## umw_ident_mean, norm_desin_mean, karr_juu_mean, karr_entsc_mean,
## karr_umwelt))
##
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
## 0.86 0.91 0.94 0.45 9.8 0.0061 3.7 0.94 0.38
##
## 95% confidence boundaries
## lower alpha upper
## Feldt 0.85 0.86 0.87
## Duhachek 0.85 0.86 0.87
##
## Reliability if an item is dropped:
## raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## anx_v_aff_mean 0.84 0.90 0.92 0.44 8.6 0.0068 0.032 0.39
## anx_v_bee_mean 0.85 0.90 0.93 0.44 8.8 0.0066 0.033 0.38
## anx_v_beh_mean 0.84 0.89 0.93 0.43 8.2 0.0069 0.033 0.37
## anx_v_cog_mean 0.84 0.89 0.93 0.43 8.4 0.0069 0.031 0.38
## anx_v_phy_mean 0.84 0.90 0.93 0.44 8.6 0.0067 0.031 0.38
## anx_gesamt 0.83 0.89 0.91 0.42 7.9 0.0070 0.024 0.37
## klima_verh_summ 0.85 0.91 0.94 0.47 9.6 0.0064 0.040 0.40
## umw_ident_mean 0.85 0.91 0.94 0.48 10.2 0.0063 0.035 0.40
## norm_desin_mean 0.86 0.91 0.94 0.47 9.9 0.0063 0.038 0.40
## karr_juu_mean 0.85 0.90 0.94 0.46 9.4 0.0066 0.040 0.38
## karr_entsc_mean 0.85 0.90 0.94 0.45 9.1 0.0067 0.041 0.37
## karr_umwelt 0.89 0.91 0.91 0.46 9.5 0.0047 0.039 0.40
##
## Item statistics
## n raw.r std.r r.cor r.drop mean sd
## anx_v_aff_mean 1027 0.76 0.78 0.80 0.68 3.9 1.50
## anx_v_bee_mean 1027 0.70 0.74 0.76 0.66 1.8 0.94
## anx_v_beh_mean 1027 0.82 0.85 0.87 0.78 2.9 1.12
## anx_v_cog_mean 1027 0.79 0.82 0.84 0.74 2.8 1.26
## anx_v_phy_mean 1027 0.74 0.78 0.80 0.68 2.5 1.32
## anx_gesamt 1027 0.87 0.91 0.94 0.85 2.8 1.07
## klima_verh_summ 1027 0.63 0.59 0.53 0.50 9.3 2.06
## umw_ident_mean 1027 0.50 0.50 0.43 0.43 5.4 1.03
## norm_desin_mean 1027 0.51 0.55 0.48 0.47 2.8 0.63
## karr_juu_mean 1027 0.63 0.64 0.59 0.58 2.2 0.87
## karr_entsc_mean 1027 0.68 0.69 0.65 0.63 2.1 0.96
## karr_umwelt 966 0.71 0.61 0.50 0.51 5.4 3.31
# ergibt alpha = 0.86 CI = [0.85; 0.87]
# Grafiken zur Verteilung von Klimaangst
summary(d$anx_gesamt)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 2.000 2.700 2.794 3.550 6.200
# ergibt keine NA, dennoch filter() angewendet, erleichtert copy-paste für nachfolgende Variablen
d %>%
filter(!is.na(anx_gesamt)) %>%
ggplot(aes(x = anx_gesamt)) +
geom_histogram(bins = 30, color = "black") +
labs(
x = "Klimaangst gesamt",
y = "Häufigkeit"
) +
theme_minimal()
# alternativ Dichte:
d %>%
filter(!is.na(anx_gesamt)) %>%
ggplot(aes(x = anx_gesamt)) +
geom_density(fill = "grey70", alpha = 0.6) +
labs(
x = "Klimaangst gesamt",
y = "Dichte"
) +
theme_minimal()
# Dichte-Darstellung gefällt mir am besten
# andere Möglichkeit wäre Jitter:
ggplot(d, aes(x = anx_gesamt, y = 0)) +
geom_jitter(height = 0.05, alpha = 0.4) +
labs(
x = "Klimaangst gesamt",
y = ""
) +
theme_minimal() +
theme(axis.text.y = element_blank(),
axis.ticks.y = element_blank())
# was soll mir das sagen???
summary(d$anx_v_aff_mean)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 3.00 4.00 3.91 5.00 7.00
d %>%
filter(!is.na(anx_v_aff_mean)) %>%
ggplot(aes(x = anx_v_aff_mean)) +
geom_histogram(bins = 30, color = "black") +
labs(
x = "Klimaangst affektiv",
y = "Häufigkeit"
) +
theme_minimal()
# warum sind da diese Lücken? -> weil wir Mittelwerte aus je 4 Items mit Werten zwischen 1 und 7 berechnet haben (diskret) und die "Lücken" dann als Wert nicht vorkamen?
d %>%
filter(!is.na(anx_v_aff_mean)) %>%
ggplot(aes(x = anx_v_aff_mean)) +
geom_density(fill = "grey70", alpha = 0.6) +
labs(
x = "Klimaangst affektiv",
y = "Dichte"
) +
theme_minimal()
# sieht sehr normal aus
summary(d$anx_v_bee_mean)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 1.000 1.500 1.825 2.250 6.750
d %>%
filter(!is.na(anx_v_bee_mean)) %>%
ggplot(aes(x = anx_v_bee_mean)) +
geom_histogram(bins = 30, color = "black") +
labs(
x = "Klimaangst Beeinträchtigung",
y = "Häufigkeit"
) +
theme_minimal()
# das ist sicher NICHT normalverteilt
d %>%
filter(!is.na(anx_v_bee_mean)) %>%
ggplot(aes(x = anx_v_bee_mean)) +
geom_density(fill = "grey70", alpha = 0.6) +
labs(
x = "Klimaangst Beeinträchtigung",
y = "Dichte"
) +
theme_minimal()
summary(d$anx_v_beh_mean)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 2.000 3.000 2.919 3.750 6.000
ggplot(d, aes(x = anx_v_beh_mean)) +
geom_histogram(bins = 30, color = "black") +
labs(
x = "Klimaangst behavioral",
y = "Häufigkeit"
) +
theme_minimal()
ggplot(d, aes(x = anx_v_beh_mean)) +
geom_density(fill = "grey70", alpha = 0.6) +
labs(
x = "Klimaangst behavioral",
y = "Dichte"
) +
theme_minimal()
# kann man als normal durchgehen lassen
summary(d$anx_v_cog_mean)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 1.750 2.750 2.821 3.750 6.500
d %>%
filter(!is.na(anx_v_cog_mean)) %>%
ggplot(aes(x = anx_v_cog_mean)) +
geom_histogram(bins = 30, color = "black") +
labs(
x = "Klimaangst kognitiv",
y = "Häufigkeit"
) +
theme_minimal()
d %>%
filter(!is.na(anx_v_cog_mean)) %>%
ggplot(aes(x = anx_v_cog_mean)) +
geom_density(fill = "grey70", alpha = 0.6) +
labs(
x = "Klimaangst kognitiv",
y = "Dichte"
) +
theme_minimal()
# sieht auch nicht wirklich normalverteilt aus
summary(d$anx_v_phy_mean)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 1.250 2.250 2.494 3.500 6.750
d %>%
filter(!is.na(anx_v_phy_mean)) %>%
ggplot(aes(x = anx_v_phy_mean)) +
geom_histogram(bins = 30, color = "black") +
labs(
x = "Klimaangst physisch",
y = "Häufigkeit"
) +
theme_minimal()
d %>%
filter(!is.na(anx_v_cog_mean)) %>%
ggplot(aes(x = anx_v_phy_mean)) +
geom_density(fill = "grey70", alpha = 0.6) +
labs(
x = "Klimaangst physisch",
y = "Dichte"
) +
theme_minimal()
# sicher nicht normal
# sollte vielleicht noch nach Alter gruppiert werden oder zumindest plot:
plot(d$alter_jahre, d$anx_gesamt)
# Grafiken zur Verteilung von Karriereabsichten, Klimaverhalten, Umweltidentität und Sozialen Normen
# diesmal nur Dichte:
ggplot(d, aes(x = karr_juu_mean)) +
geom_density(fill = "grey70", alpha = 0.6) +
labs(
x = "Karriereabsichten",
y = "Dichte"
) +
theme_minimal()
ggplot(d, aes(x = karr_entsc_mean)) +
geom_density(fill = "grey70", alpha = 0.6) +
labs(
x = "Karriereentscheidungen",
y = "Dichte"
) +
theme_minimal()
ggplot(d, aes(x = karr_umwelt)) +
geom_density(fill = "grey70", alpha = 0.6) +
labs(
x = "Rang von Umweltbezogener Nachhaltigkeit",
y = "Dichte"
) +
theme_minimal()
## Warning: Removed 61 rows containing non-finite outside the scale range
## (`stat_density()`).
ggplot(d, aes(x = klima_verh_summ)) +
geom_density(fill = "grey70", alpha = 0.6) +
labs(
x = "Klimaverhalten",
y = "Dichte"
) +
theme_minimal()
ggplot(d, aes(x = umw_ident_mean)) +
geom_density(fill = "grey70", alpha = 0.6) +
labs(
x = "Umweltidentität",
y = "Dichte"
) +
theme_minimal()
ggplot(d, aes(x = norm_desin_mean)) +
geom_density(fill = "grey70", alpha = 0.6) +
labs(
x = "Soziale Normen",
y = "Dichte"
) +
theme_minimal()
# teilweise nahezu ideal (Soziale Normen), teilweise nur mit Phantasie als normalverteilt anzusehen (Karriereentscheidungen). Möglicherweise machen sich hier doch Antworttendenzen bemerkbar, die nicht ausgeschlossen wurden?
Fragestellung(en)/Hypothese(n): H1 (a) Klimaangst und Klimabewusstes Verhalten stehen in einem positiven Zusammenhang. (b) Klimaangst und Karriereabsichten stehen in einem positiven Zusammenhang. (c) Soziale Normen und Umweltidentität wirken dabei als Moderatoren. H2 Soziale Normen und Umweltidentität wirken als Prädiktoren für das Kriterium Karriereabsichten.
Berechnungen zur Überprüfung der Hypothesen
# H1 (a) einzeln
#zunächst berechnen wir nur Pearson's Produkt-Moment-Korrelation für Klimaangst (gesamt) und Klimaverhalten
cor.test(d$anx_gesamt, d$klima_verh_summ)
##
## Pearson's product-moment correlation
##
## data: d$anx_gesamt and d$klima_verh_summ
## t = 13.4, df = 1025, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.3327915 0.4369558
## sample estimates:
## cor
## 0.3861038
# r = .38 ist ein mittlerer Zusammenhang, der sich auch ähnlich zeigen sollte, wenn wir mittels Regressionsanalyse die Subskalen anx_v_aff_mean,...,anx_v_phy_mean mit klima_verh_summ in Beziehung setzen:
d %>%
select(klima_verh_summ,
anx_v_aff_mean,
anx_v_bee_mean,
anx_v_beh_mean,
anx_v_cog_mean,
anx_v_phy_mean
) %>%
as.matrix %>% # here is the "we make it pure numbers" part
corx(triangle = "lower",
stars = c(.05, .01, .001),
describe = c('mean','sd')) %>%
as.data.frame(.["apa"])
H1 (a) wurde bestätigt. Für alle Subskalen zeigen sich positive, schwache bis mittlere Zusammenhänge (.28 ≤ r ≤ .43). Je mehr Klimaangst Personen angeben, desto mehr klimabewusstes Verhalten zeigen sie.
#H1 (b) einzeln
d %>%
select(karr_juu_mean,
karr_entsc_mean,
karr_umwelt,
anx_v_aff_mean,
anx_v_bee_mean,
anx_v_beh_mean,
anx_v_cog_mean,
anx_v_phy_mean
) %>%
as.matrix %>% # here is the "we make it pure numbers" part
corx(triangle = "lower",
stars = c(.05, .01, .001),
describe = c('mean','sd')) %>%
as.data.frame(.["apa"])
H1 (b) wurde bestätigt. Bei allen Subskalen zeigen sich positive, schwache bis mittlere Zusammenhänge (.28 ≤ r ≤ .47) zwischen Klimaangst und Karriereabsichten. Je mehr Klimaangst Personen angeben, desto mehr spielt umweltbezogene Nachhaltigkeit eine Rolle dabei, in welchem Bereich oder für welche Unternehmen jemand arbeiten möchte (karr_juu_mean). Ebenso besteht ein Zusammenhang zwischen Klimaangst und der Relevanz des Klimawandels bei berufsbezogenen Entscheidungen (karr_entsc_mean), sowie dem Rang umweltbezogener Nachhaltigkeit bei der Berufswahl (karr_umwelt, neben 13 anderen Faktoren). (.30 ≤ r(karr_juu_mean x anx_v_…) ≤ .41) (.37 ≤ r(karr_entsc_mean x anx_v_…) ≤ .47) (.28 ≤ r(karr_umwelt x anx_v_…) ≤ .41) # Darstellung muss noch APA-konform werden, hier so nur zur Übersicht
# H1 (c) einzeln
d %>%
select(karr_juu_mean,
karr_entsc_mean,
karr_umwelt,
anx_gesamt,
anx_v_aff_mean,
anx_v_bee_mean,
anx_v_beh_mean,
anx_v_cog_mean,
anx_v_phy_mean,
norm_desin_mean,
umw_ident_mean
)
# scale(d_clean_scale)
# ursprünglich erst z-skaliert, aber -> entweder lm.beta oder parameters nachträglich, sonst (falls vorher) Probleme mit Plot
library(interactions)
## Warning: Paket 'interactions' wurde unter R Version 4.4.3 erstellt
library(lm.beta)
## Warning: Paket 'lm.beta' wurde unter R Version 4.4.3 erstellt
library(parameters)
## Warning: Paket 'parameters' wurde unter R Version 4.4.3 erstellt
mod_juu_norm <- lm(karr_juu_mean ~ anx_gesamt * norm_desin_mean, data = d)
interact_plot(mod_juu_norm,
pred = anx_gesamt,
modx = norm_desin_mean,
x.label = "Klimaangst",
y.label = "Karriereabsichten",
legend.main = "Soziale Normen"
)
model_parameters(mod_juu_norm, standardize = "refit")
# In einer linearen Regressionsanalyse sagten sowohl Klimaangst als auch soziale Normen umweltbezogene Karriereentscheidungen signifikant vorher.
#Klimaangst zeigte einen positiven Zusammenhang mit umweltbezogenen Karriereentscheidungen, β = .31, 95 % CI [.25, .37], p < .001.
#Auch soziale Normen waren positiv mit umweltbezogenen Karriereentscheidungen assoziiert, β = .29, 95 % CI [.24, .35], p < .001.
# Der Interaktionseffekt zwischen Klimaangst und sozialen Normen war hingegen nicht signifikant, β = −.01, 95 % CI [−.06, .03], p = .61, was darauf hindeutet, dass soziale Normen den Zusammenhang zwischen Klimaangst und umweltbezogenen Karriereentscheidungen nicht moderieren.
#(p-Wert aus t ≈ −0.51)
summary(mod_juu_norm)
##
## Call:
## lm(formula = karr_juu_mean ~ anx_gesamt * norm_desin_mean, data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.91801 -0.55296 -0.07097 0.49019 2.90910
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.05589 0.26536 0.211 0.833
## anx_gesamt 0.38143 0.09561 3.989 7.10e-05 ***
## norm_desin_mean 0.53033 0.09773 5.426 7.19e-08 ***
## anx_gesamt:norm_desin_mean -0.04825 0.03306 -1.459 0.145
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7616 on 1023 degrees of freedom
## Multiple R-squared: 0.2399, Adjusted R-squared: 0.2376
## F-statistic: 107.6 on 3 and 1023 DF, p-value: < 2.2e-16
mod_juu_ident <- lm(karr_juu_mean ~ anx_gesamt * umw_ident_mean, data = d)
interact_plot(mod_juu_ident,
pred = anx_gesamt,
modx = umw_ident_mean,
x.label = "Klimaangst",
y.label = "Karriereabsichten",
legend.main = "Umweltidentität"
)
model_parameters(mod_juu_ident, standardize = "refit")
# In einer linearen Regressionsanalyse zur Vorhersage umweltbezogener Karriereabsichten wurde geprüft, ob Umweltidentität den Zusammenhang zwischen Klimaangst und Karriereabsichten moderiert.
# Klimaangst sagte umweltbezogene Karriereabsichten signifikant positiv vorher, β = .36, SE = .03, 95 % CI [.30, .42], t(1025) = 11.95, p < .001.
# Auch Umweltidentität war positiv mit umweltbezogenen Karriereabsichten assoziiert, β = .18, SE = .03, 95 % CI [.13, .24], t(1025) = 6.06, p < .001.
# Der Interaktionseffekt zwischen Klimaangst und Umweltidentität war jedoch nicht signifikant, β = .02, SE = .03, 95 % CI [−.04, .07], t(1025) = 0.68, p = .50.
summary(mod_juu_ident)
##
## Call:
## lm(formula = karr_juu_mean ~ anx_gesamt * umw_ident_mean, data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.10759 -0.61021 -0.06101 0.49429 2.76877
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.619044 0.328249 1.886 0.0596 .
## anx_gesamt 0.267864 0.126204 2.122 0.0340 *
## umw_ident_mean 0.144802 0.059959 2.415 0.0159 *
## anx_gesamt:umw_ident_mean 0.002959 0.022050 0.134 0.8933
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7843 on 1023 degrees of freedom
## Multiple R-squared: 0.194, Adjusted R-squared: 0.1916
## F-statistic: 82.07 on 3 and 1023 DF, p-value: < 2.2e-16
# Klimaangst und Umweltidentität beeinflussen Absichten (juu)
#Dasselbe gilt (in anderen Modellen) für Entscheidungen (entsc)
#Aber:
#keine Moderation → Klimaangst wirkt nicht nur bei bestimmten Personen, sondern breit und robust. Das unterstützt Modelle, in denen:
#Emotionen (Klimaangst) und
#Identitäts-/Normvariablen
#parallel zur Handlungsorientierung beitragen.
mod_entsc_norm <- lm(karr_entsc_mean ~ anx_gesamt * norm_desin_mean, data = d)
interact_plot(mod_entsc_norm,
pred = anx_gesamt,
modx = norm_desin_mean,
x.label = "Klimaangst",
y.label = "Karriereentscheidungen",
legend.main = "Soziale Normen"
)
model_parameters(mod_entsc_norm, standardize = "refit")
summary(mod_entsc_norm)
##
## Call:
## lm(formula = karr_entsc_mean ~ anx_gesamt * norm_desin_mean,
## data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.95074 -0.54087 -0.08028 0.48293 2.66474
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.24372 0.27967 0.871 0.38370
## anx_gesamt 0.24560 0.10077 2.437 0.01497 *
## norm_desin_mean 0.31849 0.10300 3.092 0.00204 **
## anx_gesamt:norm_desin_mean 0.03511 0.03484 1.008 0.31384
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.8027 on 1023 degrees of freedom
## Multiple R-squared: 0.2984, Adjusted R-squared: 0.2964
## F-statistic: 145.1 on 3 and 1023 DF, p-value: < 2.2e-16
mod_entsc_ident <- lm(karr_entsc_mean ~ anx_gesamt * umw_ident_mean, data = d)
interact_plot(mod_entsc_ident,
pred = anx_gesamt,
modx = umw_ident_mean,
x.label = "Klimaangst",
y.label = "Karriereentscheidungen",
legend.main = "Umweltidentität",
)
model_parameters(mod_entsc_ident, standardize = "refit")
summary(mod_entsc_ident)
##
## Call:
## lm(formula = karr_entsc_mean ~ anx_gesamt * umw_ident_mean, data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.3637 -0.5468 -0.1072 0.5093 3.0917
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.86071 0.34655 2.484 0.0132 *
## anx_gesamt 0.14979 0.13324 1.124 0.2612
## umw_ident_mean 0.02595 0.06330 0.410 0.6819
## anx_gesamt:umw_ident_mean 0.04292 0.02328 1.843 0.0655 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.828 on 1023 degrees of freedom
## Multiple R-squared: 0.2535, Adjusted R-squared: 0.2513
## F-statistic: 115.8 on 3 and 1023 DF, p-value: < 2.2e-16
mod_umwelt_norm <- lm(karr_umwelt ~ anx_gesamt * norm_desin_mean, data = d)
interact_plot(mod_umwelt_norm,
pred = anx_gesamt,
modx = norm_desin_mean,
x.label = "Klimaangst",
y.label = "Rang von Umweltbezogener Nachhaltigkeit",
legend.main = "Soziale Normen"
)
model_parameters(mod_umwelt_norm, standardize = "refit")
summary(mod_umwelt_norm)
##
## Call:
## lm(formula = karr_umwelt ~ anx_gesamt * norm_desin_mean, data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.9681 -2.1848 -0.4322 1.5874 10.9735
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.06198 1.06161 -1.000 0.317393
## anx_gesamt 1.10877 0.38240 2.900 0.003822 **
## norm_desin_mean 1.42645 0.39164 3.642 0.000285 ***
## anx_gesamt:norm_desin_mean -0.07088 0.13216 -0.536 0.591865
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.979 on 962 degrees of freedom
## (61 Beobachtungen als fehlend gelöscht)
## Multiple R-squared: 0.1944, Adjusted R-squared: 0.1919
## F-statistic: 77.4 on 3 and 962 DF, p-value: < 2.2e-16
mod_umwelt_ident <- lm(karr_umwelt ~ anx_gesamt * umw_ident_mean, data = d)
interact_plot(mod_umwelt_ident,
pred = anx_gesamt,
modx = umw_ident_mean,
x.label = "Klimaangst",
y.label = "Rang von Umweltbezogener Nachhaltigkeit",
legend.main = "Umweltidentität"
)
model_parameters(mod_umwelt_ident, standardize = "refit")
summary(mod_umwelt_ident)
##
## Call:
## lm(formula = karr_umwelt ~ anx_gesamt * umw_ident_mean, data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -7.9095 -2.1334 -0.5586 1.7321 10.5728
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.85036 1.31020 0.649 0.516
## anx_gesamt 0.41259 0.50372 0.819 0.413
## umw_ident_mean 0.32896 0.23935 1.374 0.170
## anx_gesamt:umw_ident_mean 0.10363 0.08788 1.179 0.239
##
## Residual standard error: 3.013 on 962 degrees of freedom
## (61 Beobachtungen als fehlend gelöscht)
## Multiple R-squared: 0.1759, Adjusted R-squared: 0.1733
## F-statistic: 68.45 on 3 and 962 DF, p-value: < 2.2e-16
mod_reduziert <- lm(d$karr_juu_mean ~ d$anx_gesamt + d$norm_desin_mean + d$umw_ident_mean)
mod_voll <- lm(karr_juu_mean ~ anx_gesamt * norm_desin_mean + umw_ident_mean, data = d)
R2_red <- summary(mod_reduziert)$r.squared
R2_voll <- summary(mod_voll)$r.squared
f2_interaktion <- (R2_voll - R2_red) / (1 - R2_voll)
f2_interaktion
## [1] 0.001416165
Die Haupteffekte von Klimaangst und Umweltidentität waren nicht signifikant (ps > .37). Der Interaktionseffekt zwischen Klimaangst und Umweltidentität war jedoch signifikant, b = 0.05, SE = 0.02, t(1025) = 2.20, p = .028. Dies deutet darauf hin, dass der Zusammenhang zwischen Klimaangst und umweltbezogenen Karriereentscheidungen von der Umweltidentität abhängt. Bei höherer Umweltidentität zeigte sich ein stärkerer positiver Zusammenhang zwischen Klimaangst und umweltbezogenen Karriereentscheidungen.
#der folgende Text stammt noch aus meinen Berechnungen mit meinem bereinigten Datensatz (s.u.) d_clean (aber ebnfalls N = 1029, vielleicht sind das sogar die gleichen Daten, muss ich nochmal gucken, falls ja, müssten auch die Zahlen stimmen), #H1 (c) wurde teilweise abgelehnt für ∝ = .05
#Die Interaktionsterme anx_gesamt:norm_desin_mean und anx_ges:umw_ident_mean waren überwiegend nicht signifikant für karr_juu_mean, karr_entsc_mean und karr_umwelt, d.h. es lag dann keine Moderation durch Soziale Normen oder Umweltidentität für Karriereabsichten, Karriereentscheidungen oder den Rang von umweltbezogener Nachhaltigkeit (bei der Berufswahl) vor.
#Zur Prüfung der Moderationshypothese wurde eine lineare Regressionsanalyse durchgeführt, in der Klimaangst (Gesamtausprägung), Soziale Normen und Umweltidentität, sowie deren Interaktion zur Vorhersage umweltbezogener Karriereabsichten und -entscheidungen herangezogen wurden.
#Das Gesamtmodell war signifikant, F(3, 1023) = 107.60, p < .001, und erklärte 23.9 % der Varianz der umweltbezogenen Karriereabsichten (R² = .24).
#Klimaangst sagte umweltbezogene Karriereabsichten signifikant positiv vorher, b = 0.38, SE = 0.10, t(1023) = 3.99, p < .001, 95 % CI [0.19, 0.57]. Auch Soziale Normen zeigte einen signifikanten positiven Zusammenhang mit umweltbezogenen Karriereabsichten, b = 0.53, SE = 0.10, t(1023) = 5.43, p < .001, 95 % CI [0.34, 0.72].
#Der Interaktionseffekt zwischen Klimaangst und Sozialen Normen war hingegen nicht signifikant, b = −0.05, SE = 0.03, t(1023) = −1.46, p = .145, 95 % CI [−0.11, 0.02]. Somit ergaben sich keine Hinweise darauf, dass Soziale Normen den Zusammenhang zwischen Klimaangst und karrierebezogener Zukunftsunsicherheit moderiert.
# Gesamtanalyse - Korrelation
d %>%
select(# criterion vars
karr_entsc_mean,
karr_juu_mean,
karr_umwelt,
klima_verh_summ,
wept_score1,
wept_score2,
# mediator vars
#norm_desin_mean,
#kogn_disso_mean,
# moderator vars
umw_ident_mean,
norm_desin_mean,
# predictor vars
anx_gesamt,
anx_v_aff_mean,
anx_v_bee_mean,
anx_v_beh_mean,
anx_v_cog_mean,
anx_v_phy_mean,
norm_desin_mean,
umw_ident_mean,
# control vars
klima_wiss_summ,
klima_eins_mean) %>%
as.matrix %>%
corx(triangle = "lower",
stars = c(.05, .01, .001),
describe = c('mean','sd','var','median')) %>%
as.data.frame(.["apa"])
# H2 einzeln
lm_umwelt <- lm(karr_umwelt ~ anx_gesamt + umw_ident_mean + norm_desin_mean, data = d)
summary(lm_umwelt)
##
## Call:
## lm(formula = karr_umwelt ~ anx_gesamt + umw_ident_mean + norm_desin_mean,
## data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -7.1215 -2.1032 -0.4414 1.6321 10.9503
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.34603 0.58191 -4.032 5.98e-05 ***
## anx_gesamt 0.79669 0.09820 8.113 1.50e-15 ***
## umw_ident_mean 0.46117 0.09927 4.646 3.86e-06 ***
## norm_desin_mean 1.09460 0.16254 6.734 2.83e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.947 on 962 degrees of freedom
## (61 Beobachtungen als fehlend gelöscht)
## Multiple R-squared: 0.2119, Adjusted R-squared: 0.2094
## F-statistic: 86.2 on 3 and 962 DF, p-value: < 2.2e-16
lm_entsc <- lm(karr_entsc_mean ~ anx_gesamt + umw_ident_mean + norm_desin_mean, data = d)
summary(lm_entsc)
##
## Call:
## lm(formula = karr_entsc_mean ~ anx_gesamt + umw_ident_mean +
## norm_desin_mean, data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.90770 -0.53943 -0.06762 0.47826 2.80814
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.37051 0.15376 -2.410 0.016143 *
## anx_gesamt 0.32220 0.02565 12.560 < 2e-16 ***
## umw_ident_mean 0.09060 0.02587 3.502 0.000482 ***
## norm_desin_mean 0.38637 0.04290 9.007 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7983 on 1023 degrees of freedom
## Multiple R-squared: 0.3061, Adjusted R-squared: 0.304
## F-statistic: 150.4 on 3 and 1023 DF, p-value: < 2.2e-16
lm_juu <- lm(karr_juu_mean ~ anx_gesamt + umw_ident_mean + norm_desin_mean, data = d)
summary(lm_juu)
##
## Call:
## lm(formula = karr_juu_mean ~ anx_gesamt + umw_ident_mean + norm_desin_mean,
## data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.93206 -0.55109 -0.04717 0.49138 2.94816
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.03661 0.14535 -0.252 0.801
## anx_gesamt 0.21920 0.02425 9.040 < 2e-16 ***
## umw_ident_mean 0.11277 0.02446 4.611 4.51e-06 ***
## norm_desin_mean 0.36716 0.04055 9.054 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7546 on 1023 degrees of freedom
## Multiple R-squared: 0.2538, Adjusted R-squared: 0.2516
## F-statistic: 116 on 3 and 1023 DF, p-value: < 2.2e-16
# H2 mit Interaktion
lm_umwelt_inter <- lm(karr_umwelt ~ umw_ident_mean:norm_desin_mean, data = d)
summary(lm_umwelt_inter)
##
## Call:
## lm(formula = karr_umwelt ~ umw_ident_mean:norm_desin_mean, data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.6741 -2.2998 -0.3535 1.8349 10.8061
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.4016 0.3102 4.519 7e-06 ***
## umw_ident_mean:norm_desin_mean 0.2641 0.0194 13.612 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.037 on 964 degrees of freedom
## (61 Beobachtungen als fehlend gelöscht)
## Multiple R-squared: 0.1612, Adjusted R-squared: 0.1603
## F-statistic: 185.3 on 1 and 964 DF, p-value: < 2.2e-16
lm_entsc_inter <- lm(karr_entsc_mean ~ umw_ident_mean:norm_desin_mean, data = d)
summary(lm_entsc_inter)
##
## Call:
## lm(formula = karr_entsc_mean ~ umw_ident_mean:norm_desin_mean,
## data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.01001 -0.64957 -0.07471 0.54687 2.82751
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.799301 0.085463 9.353 <2e-16 ***
## umw_ident_mean:norm_desin_mean 0.085027 0.005364 15.853 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.858 on 1025 degrees of freedom
## Multiple R-squared: 0.1969, Adjusted R-squared: 0.1961
## F-statistic: 251.3 on 1 and 1025 DF, p-value: < 2.2e-16
lm_juu_inter <- lm(karr_juu_mean ~ umw_ident_mean:norm_desin_mean, data = d)
summary(lm_juu_inter)
##
## Call:
## lm(formula = karr_juu_mean ~ umw_ident_mean:norm_desin_mean,
## data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.88519 -0.57961 -0.07634 0.55193 2.98966
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.048962 0.078263 13.40 <2e-16 ***
## umw_ident_mean:norm_desin_mean 0.076034 0.004912 15.48 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7857 on 1025 degrees of freedom
## Multiple R-squared: 0.1895, Adjusted R-squared: 0.1887
## F-statistic: 239.6 on 1 and 1025 DF, p-value: < 2.2e-16
Effekte Berechnung von Cohens f²
# Eigene Berechnung mit Formel für das gesamte Modell:
R2 <- summary(lm_entsc)$r.squared
Formel_f2 <- R2 / (1 - R2)
Formel_f2
## [1] 0.4410395
# mit "effectsize" für Moderationseffekte:
library(effectsize)
## Warning: Paket 'effectsize' wurde unter R Version 4.4.3 erstellt
##
## Attache Paket: 'effectsize'
## Das folgende Objekt ist maskiert 'package:jtools':
##
## standardize
## Das folgende Objekt ist maskiert 'package:psych':
##
## phi
cohens_f_squared(lm_entsc, partial = FALSE)
cohens_f_squared(lm_entsc)
cohens_f_squared(mod_entsc_ident)
cohens_f_squared(mod_entsc_norm)
# analog für die weiteren Modelle
Berechnungen einzelner Gruppenmitglieder
Sylvia Koselleck
Ausschlusskriterien: Der Datensatz wurde bereits während des R-Workshops in Hagen bereinigt -> Überprüfung der Kriterien aus der Präregistrierung:
Beschreibung der endgültigen Stichprobe
#d_clean %>%
# select(alter_jahre,
# kinder_anza,
# bildungssta,
# arbeit_umfa,
# arbeit_art1,
# ethnie_kult,
# geschlecht1) %>%
# desc_table("N" = length,
# "%" = percent,
# "Mean" = mean,
# "sd" = sd) %>%
# desc_output(target = "DT")
# H2 einzeln
#lm_umwelt <- lm(karr_umwelt ~ umw_ident_mean + norm_desin_mean, data = d_clean)
#summary(lm_umwelt)
#lm_entsc <- lm(karr_entsc_mean ~ umw_ident_mean + norm_desin_mean, data = d_clean)
#summary(lm_entsc)
#lm_juu <- lm(karr_juu_mean ~ umw_ident_mean + norm_desin_mean, data = d_clean)
#summary(lm_juu)
# H2 mit Interaktion
#lm_umwelt_inter <- lm(karr_umwelt ~ umw_ident_mean:norm_desin_mean, data = d_clean)
#summary(lm_umwelt_inter)
#lm_entsc_inter <- lm(karr_entsc_mean ~ umw_ident_mean:norm_desin_mean, data = d_clean)
#summary(lm_entsc_inter)
#lm_juu_inter <- lm(karr_juu_mean ~ umw_ident_mean:norm_desin_mean, data = d_clean)
#summary(lm_juu_inter)
Zur Diskussion
Explorative Analysen
Wie stark ist der Zusammenhang zwischen selbstberichtetem Klimaverhalten/PEB (-> klima_verh_summe) und der Bearbeitung der Zahlenaufgabe für den Klimaschutz/Work for Environmental Protection Task (-> duration.t2, wept_score1, wept_score2)
Welcher Zusammenhang besteht zwischen kognitiver Dissonanz und Karriereabsichten?
Wieso ist die Moderation durch Umweltidentität und Soziale Normen nicht signifikant? -> Untersuchung von Subgruppen (z.B. minderjährig, jung, mittelalt, alt oder studierend vs. arbeitend)
Moderiert umgekehrt vielleicht Klimaangst deren Effekt auf Karriereeabsichten?
Mediation?
#Wer nimmt (im Anschluss an den Fragebogen) noch an der Umwelttask teil?
#Bearbeiten Personen, die einen hohen PEB-Wert erhalten, mehr Seiten der zusätzlichen Umwelttask (wept)?
d %>%
filter(is.na(wept_score1))
# -> t-test Mittelwertsunterschied is.na und !is.na
cor.test(d$klima_verh_summ, d$wept_score1)
##
## Pearson's product-moment correlation
##
## data: d$klima_verh_summ and d$wept_score1
## t = 1.6688, df = 114, p-value = 0.09791
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.02870665 0.32751424
## sample estimates:
## cor
## 0.1544181
plot(d$klima_verh_summ, d$wept_score1)
# Ist Klimaangst ein Prädiktor für wept?
plot(d$anx_gesamt, d$wept_score1)
cor.test(d$anx_gesamt, d$wept_score1)
##
## Pearson's product-moment correlation
##
## data: d$anx_gesamt and d$wept_score1
## t = 1.9425, df = 114, p-value = 0.05454
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.003432639 0.349894167
## sample estimates:
## cor
## 0.178996
# für ∝ = .05 nicht signifikant, aber für ∝ = .1 ein schwacher Zusammenhang: r = .18
lm(d$wept_score1 ~ d$anx_gesamt)
##
## Call:
## lm(formula = d$wept_score1 ~ d$anx_gesamt)
##
## Coefficients:
## (Intercept) d$anx_gesamt
## 1.3892 0.9887
#Pfadmodelle
d_pfad1 <- d %>%
mutate(ANX = anx_gesamt,
MED = norm_desin_mean,
CRIT = karr_entsc_mean,
MOD = umw_ident_mean)
model <- '
# Direct effects (c paths)
# Criterion ~ Predictor + Moderator + Control
CRIT ~ ANX + MOD
# a paths (Predictor --> Mediator)
MED ~ a1*ANX + a2*ANX:MOD + a3*MOD
# b paths (Mediator --> Criterion)
CRIT ~ b1*MED + MOD
# Indirect effect
ANX_MED_CRIT := a1 * b1
AXM_MED_CRIT := a2 * b1
MOD_MED_CRIT := a3 * b1
'
fit <- sem(model = model, data = d_pfad1, missing = "fiml", estimator = "MLR")
lavaanPlot(model = fit,
stars = c("regress"),
coefs = TRUE,
covs = FALSE,
stand = TRUE
)
summary(fit, standardized = TRUE, fit.measures = TRUE)
## lavaan 0.6-20 ended normally after 1 iteration
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 10
##
## Number of observations 1027
## Number of missing patterns 1
##
## Model Test User Model:
## Standard Scaled
## Test Statistic 5.571 5.770
## Degrees of freedom 1 1
## P-value (Chi-square) 0.018 0.016
## Scaling correction factor 0.966
## Yuan-Bentler correction (Mplus variant)
##
## Model Test Baseline Model:
##
## Test statistic 555.770 493.055
## Degrees of freedom 7 7
## P-value 0.000 0.000
## Scaling correction factor 1.127
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.992 0.990
## Tucker-Lewis Index (TLI) 0.942 0.931
##
## Robust Comparative Fit Index (CFI) 0.992
## Robust Tucker-Lewis Index (TLI) 0.942
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -2121.720 -2121.720
## Scaling correction factor 1.083
## for the MLR correction
## Loglikelihood unrestricted model (H1) NA NA
## Scaling correction factor 1.072
## for the MLR correction
##
## Akaike (AIC) 4263.441 4263.441
## Bayesian (BIC) 4312.785 4312.785
## Sample-size adjusted Bayesian (SABIC) 4281.024 4281.024
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.067 0.068
## 90 Percent confidence interval - lower 0.022 0.000
## 90 Percent confidence interval - upper 0.125 0.000
## P-value H_0: RMSEA <= 0.050 0.224 0.213
## P-value H_0: RMSEA >= 0.080 0.419 0.440
##
## Robust RMSEA 0.067
## 90 Percent confidence interval - lower 0.022
## 90 Percent confidence interval - upper 0.125
## P-value H_0: Robust RMSEA <= 0.050 0.224
## P-value H_0: Robust RMSEA >= 0.080 0.419
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.002 0.002
##
## Parameter Estimates:
##
## Standard errors Sandwich
## Information bread Observed
## Observed information based on Hessian
##
## Regressions:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## CRIT ~
## ANX 0.322 0.027 12.145 0.000 0.322 0.361
## MOD 0.091 0.026 3.507 0.000 0.091 0.098
## MED ~
## ANX (a1) 0.321 0.096 3.344 0.001 0.321 0.544
## ANX:MOD (a2) -0.025 0.017 -1.496 0.135 -0.025 -0.295
## MOD (a3) 0.170 0.049 3.460 0.001 0.170 0.277
## CRIT ~
## MED (b1) 0.386 0.047 8.159 0.000 0.386 0.255
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .CRIT -0.371 0.149 -2.479 0.013 -0.371 -0.387
## .MED 1.330 0.268 4.965 0.000 1.330 2.106
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .CRIT 0.635 0.030 21.223 0.000 0.635 0.694
## .MED 0.336 0.017 20.292 0.000 0.336 0.843
##
## Defined Parameters:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## ANX_MED_CRIT 0.124 0.038 3.275 0.001 0.124 0.139
## AXM_MED_CRIT -0.010 0.007 -1.511 0.131 -0.010 -0.075
## MOD_MED_CRIT 0.066 0.020 3.353 0.001 0.066 0.071
d_pfad2 <- d %>%
mutate(ANX = anx_gesamt,
MED = umw_ident_mean,
CRIT = karr_juu_mean,
MOD = norm_desin_mean)
model <- '
# Direct effects (c paths)
# Criterion ~ Predictor + Moderator + Control
CRIT ~ ANX + MOD
# a paths (Predictor --> Mediator)
MED ~ a1*ANX + a2*ANX:MOD + a3*MOD
# b paths (Mediator --> Criterion)
CRIT ~ b1*MED + MOD
# Indirect effect
ANX_MED_CRIT := a1 * b1
AXM_MED_CRIT := a2 * b1
MOD_MED_CRIT := a3 * b1
'
fit <- sem(model = model, data = d_pfad2, missing = "fiml", estimator = "MLR")
lavaanPlot(model = fit,
stars = c("regress"),
coefs = TRUE,
covs = FALSE,
stand = TRUE
)
summary(fit, standardized = TRUE, fit.measures = TRUE)
## lavaan 0.6-20 ended normally after 3 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 10
##
## Number of observations 1027
## Number of missing patterns 1
##
## Model Test User Model:
## Standard Scaled
## Test Statistic 1.453 1.504
## Degrees of freedom 1 1
## P-value (Chi-square) 0.228 0.220
## Scaling correction factor 0.966
## Yuan-Bentler correction (Mplus variant)
##
## Model Test Baseline Model:
##
## Test statistic 445.214 415.213
## Degrees of freedom 7 7
## P-value 0.000 0.000
## Scaling correction factor 1.072
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.999 0.999
## Tucker-Lewis Index (TLI) 0.993 0.991
##
## Robust Comparative Fit Index (CFI) 0.999
## Robust Tucker-Lewis Index (TLI) 0.992
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -2582.661 -2582.661
## Scaling correction factor 1.105
## for the MLR correction
## Loglikelihood unrestricted model (H1) NA NA
## Scaling correction factor 1.092
## for the MLR correction
##
## Akaike (AIC) 5185.323 5185.323
## Bayesian (BIC) 5234.667 5234.667
## Sample-size adjusted Bayesian (SABIC) 5202.906 5202.906
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.021 0.022
## 90 Percent confidence interval - lower 0.000 0.000
## 90 Percent confidence interval - upper 0.089 0.000
## P-value H_0: RMSEA <= 0.050 0.657 0.642
## P-value H_0: RMSEA >= 0.080 0.087 0.096
##
## Robust RMSEA 0.022
## 90 Percent confidence interval - lower 0.000
## 90 Percent confidence interval - upper 0.088
## P-value H_0: Robust RMSEA <= 0.050 0.659
## P-value H_0: Robust RMSEA >= 0.080 0.083
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.001 0.001
##
## Parameter Estimates:
##
## Standard errors Sandwich
## Information bread Observed
## Observed information based on Hessian
##
## Regressions:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## CRIT ~
## ANX 0.219 0.025 8.810 0.000 0.219 0.269
## MOD 0.367 0.045 8.235 0.000 0.367 0.266
## MED ~
## ANX (a1) 0.462 0.131 3.521 0.000 0.462 0.480
## ANX:MOD (a2) -0.079 0.045 -1.758 0.079 -0.079 -0.307
## MOD (a3) 0.507 0.149 3.417 0.001 0.507 0.311
## CRIT ~
## MED (b1) 0.113 0.024 4.759 0.000 0.113 0.133
##
## Intercepts:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .CRIT -0.037 0.141 -0.260 0.795 -0.037 -0.042
## .MED 3.369 0.411 8.190 0.000 3.369 3.270
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .CRIT 0.567 0.026 21.957 0.000 0.567 0.746
## .MED 0.924 0.051 18.290 0.000 0.924 0.870
##
## Defined Parameters:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## ANX_MED_CRIT 0.052 0.019 2.741 0.006 0.052 0.064
## AXM_MED_CRIT -0.009 0.006 -1.601 0.109 -0.009 -0.041
## MOD_MED_CRIT 0.057 0.022 2.640 0.008 0.057 0.041
# Zentrierung
d$anx_c <- scale(d$anx_gesamt, center = TRUE, scale = FALSE)
d$umw_c <- scale(d$umw_ident_mean, center = TRUE, scale = FALSE)
d$norm_c <- scale(d$norm_desin_mean, center = TRUE, scale = FALSE)
#d$entsc_c <- scale(d$karr_entsc_mean, center = TRUE, scale = FALSE)
#d$juu_c <- scale(d$karr_juu_mean, center = TRUE, scale = FALSE)
# Modelle
mod_entsc_ident_c <- lm(karr_entsc_mean ~ anx_c * umw_c, data = d)
mod_juu_ident_c <- lm(karr_juu_mean ~ anx_c * umw_c, data = d)
mod_entsc_norm_c <- lm(karr_entsc_mean ~ anx_c * norm_c, data = d)
mod_juu_norm_c <- lm(karr_juu_mean ~ anx_c * norm_c, data = d)
# Abbildungen
# Moderation durch Umweltidentität
interact_plot(
mod_entsc_ident_c,
pred = anx_c,
modx = umw_c,
modx.values = "plus-minus",
plot.points = FALSE,
interval = TRUE,
int.width = 0.95,
legend.main = "Umweltidentität"
) +
theme_classic() +
labs(
x = "Klimaangst",
y = "umweltbezogenen Karriereentscheidungen",
caption = "Einfache Regressionsgeraden bei niedriger (−1 SD), mittlerer (M) und hoher (+1 SD) Umweltidentität"
)
interact_plot(
mod_juu_ident_c,
pred = anx_c,
modx = umw_c,
modx.values = "plus-minus",
plot.points = FALSE,
interval = TRUE,
int.width = 0.95,
legend.main = "Umweltidentität"
) +
theme_classic() +
labs(
x = "Klimaangst",
y = "Karriereabsichten",
caption = "Einfache Regressionsgeraden bei niedriger (−1 SD), mittlerer (M) und hoher (+1 SD) Umweltidentität"
)
# Moderation durch Soziale Normen
interact_plot(
mod_entsc_norm_c,
pred = anx_c,
modx = norm_c,
modx.values = "plus-minus",
plot.points = FALSE,
interval = TRUE,
int.width = 0.95,
legend.main = "Soziale Normen"
) +
theme_classic() +
labs(
x = "Klimaangst",
y = "umweltbezogenen Karriereentscheidungen",
caption = "Einfache Regressionsgeraden bei niedrigen (−1 SD), mittleren (M) und hohen (+1 SD) Sozialen Normen"
)
interact_plot(
mod_juu_norm_c,
pred = anx_c,
modx = norm_c,
modx.values = "plus-minus",
plot.points = FALSE,
interval = TRUE,
int.width = 0.95,
legend.main = "Soziale Normen"
) +
theme_classic() +
labs(
x = "Klimaangst",
y = "Karriereabsichten",
caption = "Einfache Regressionsgeraden bei niedrigen (−1 SD), mittleren (M) und hohen (+1 SD) Sozialen Normen"
)
Tests
# Tests
sim_slopes(
mod_entsc_ident_c,
pred = anx_c,
modx = umw_c
)
## JOHNSON-NEYMAN INTERVAL
##
## When umw_c is INSIDE the interval [-4.15, 141.46], the slope of anx_c is p
## < .05.
##
## Note: The range of observed values of umw_c is [-4.43, 1.57]
##
## SIMPLE SLOPES ANALYSIS
##
## Slope of anx_c when umw_c = -1.031016e+00 (- 1 SD):
##
## Est. S.E. t val. p
## ------ ------ -------- ------
## 0.34 0.04 8.88 0.00
##
## Slope of anx_c when umw_c = -3.070140e-16 (Mean):
##
## Est. S.E. t val. p
## ------ ------ -------- ------
## 0.38 0.03 14.85 0.00
##
## Slope of anx_c when umw_c = 1.031016e+00 (+ 1 SD):
##
## Est. S.E. t val. p
## ------ ------ -------- ------
## 0.43 0.03 13.31 0.00
Zur weiteren Interpretation des signifikanten Interaktionseffekts wurde eine Simple-Slopes-Analyse durchgeführt. Diese zeigte, dass Klimaangst umweltbezogene Karriereentscheidungen sowohl bei niedriger Umweltidentität (−1 SD), b = 0.34, SE = 0.04, t(1025) = 8.83, p < .001, als auch bei durchschnittlicher, b = 0.39, SE = 0.03, t(1025) = 15.11, p < .001, und hoher Umweltidentität (+1 SD), b = 0.44, SE = 0.03, t(1025) = 14.12, p < .001, signifikant positiv mit umweltbezogenen Karriereentscheidungen zusammenhing. Der Effekt nahm mit zunehmender Umweltidentität an Stärke zu.
sim_slopes(
mod_juu_ident_c,
pred = anx_c,
modx = umw_c
)
## JOHNSON-NEYMAN INTERVAL
##
## When umw_c is INSIDE the interval [-5.87, 7.16], the slope of anx_c is p <
## .05.
##
## Note: The range of observed values of umw_c is [-4.43, 1.57]
##
## SIMPLE SLOPES ANALYSIS
##
## Slope of anx_c when umw_c = -1.031016e+00 (- 1 SD):
##
## Est. S.E. t val. p
## ------ ------ -------- ------
## 0.28 0.04 7.78 0.00
##
## Slope of anx_c when umw_c = -3.070140e-16 (Mean):
##
## Est. S.E. t val. p
## ------ ------ -------- ------
## 0.28 0.02 11.63 0.00
##
## Slope of anx_c when umw_c = 1.031016e+00 (+ 1 SD):
##
## Est. S.E. t val. p
## ------ ------ -------- ------
## 0.29 0.03 9.44 0.00
Zur weiteren Interpretation des signifikanten Interaktionseffekts wurde eine Simple-Slopes-Analyse durchgeführt. Diese zeigte, dass Klimaangst umweltbezogene Karriereentscheidungen sowohl bei niedriger Umweltidentität (−1 SD), b = 0.28, SE = 0.04, t(1025) = 7.64, p < .001, als auch bei durchschnittlicher Umweltidentität, b = 0.29, SE = 0.02, t(1025) = 11.95, p < .001, sowie bei hoher Umweltidentität (+1 SD), b = 0.31, SE = 0.03, t(1025) = 10.37, p < .001, signifikant positiv mit umweltbezogenen Karriereentscheidungen zusammenhing. Der Zusammenhang nahm mit zunehmender Umweltidentität leicht an Stärke zu.
sim_slopes(
mod_entsc_norm_c,
pred = anx_c,
modx = norm_c
)
## JOHNSON-NEYMAN INTERVAL
##
## When norm_c is INSIDE the interval [-3.23, 10.34], the slope of anx_c is p
## < .05.
##
## Note: The range of observed values of norm_c is [-1.75, 2.05]
##
## SIMPLE SLOPES ANALYSIS
##
## Slope of anx_c when norm_c = -6.318809e-01 (- 1 SD):
##
## Est. S.E. t val. p
## ------ ------ -------- ------
## 0.32 0.03 9.30 0.00
##
## Slope of anx_c when norm_c = 1.906946e-16 (Mean):
##
## Est. S.E. t val. p
## ------ ------ -------- ------
## 0.34 0.03 13.65 0.00
##
## Slope of anx_c when norm_c = 6.318809e-01 (+ 1 SD):
##
## Est. S.E. t val. p
## ------ ------ -------- ------
## 0.36 0.03 11.29 0.00
Zur weiteren Interpretation des signifikanten Interaktionseffekts zwischen Klimaangst und sozialen Normen wurde eine Simple-Slopes-Analyse durchgeführt. Diese zeigte, dass Klimaangst umweltbezogene Karriereentscheidungen sowohl bei niedrigen sozialen Normen (−1 SD), b = 0.32, SE = 0.03, t(1025) = 9.52, p < .001, als auch bei durchschnittlichen sozialen Normen, b = 0.34, SE = 0.02, t(1025) = 13.74, p < .001, sowie bei hohen sozialen Normen (+1 SD), b = 0.37, SE = 0.03, t(1025) = 12.35, p < .001, signifikant positiv mit umweltbezogenen Karriereentscheidungen zusammenhing. Der Zusammenhang zwischen Klimaangst und umweltbezogenen Karriereentscheidungen nahm mit zunehmender Stärke sozialer Normen zu.
sim_slopes(
mod_juu_norm_c,
pred = anx_c,
modx = norm_c
)
## JOHNSON-NEYMAN INTERVAL
##
## When norm_c is INSIDE the interval [-14.69, 2.16], the slope of anx_c is p
## < .05.
##
## Note: The range of observed values of norm_c is [-1.75, 2.05]
##
## SIMPLE SLOPES ANALYSIS
##
## Slope of anx_c when norm_c = -6.318809e-01 (- 1 SD):
##
## Est. S.E. t val. p
## ------ ------ -------- ------
## 0.28 0.03 8.54 0.00
##
## Slope of anx_c when norm_c = 1.906946e-16 (Mean):
##
## Est. S.E. t val. p
## ------ ------ -------- ------
## 0.25 0.02 10.44 0.00
##
## Slope of anx_c when norm_c = 6.318809e-01 (+ 1 SD):
##
## Est. S.E. t val. p
## ------ ------ -------- ------
## 0.22 0.03 7.12 0.00
Zur weiteren Interpretation des Interaktionseffekts zwischen Klimaangst und sozialen Normen wurde eine Simple-Slopes-Analyse durchgeführt. Diese zeigte, dass Klimaangst umweltbezogene Karriereentscheidungen sowohl bei niedrigen sozialen Normen (−1 SD), b = 0.26, SE = 0.03, t(1025) = 8.26, p < .001, als auch bei durchschnittlichen sozialen Normen, b = 0.25, SE = 0.02, t(1025) = 10.63, p < .001, sowie bei hohen sozialen Normen (+1 SD), b = 0.24, SE = 0.03, t(1025) = 8.54, p < .001, signifikant positiv mit umweltbezogenen Karriereentscheidungen zusammenhing. Der Zusammenhang zwischen Klimaangst und umweltbezogenen Karriereentscheidungen nahm mit zunehmender Stärke sozialer Normen leicht ab.
Leander Gosch
# mögliche Konfundierung durch Geschlecht
# die Variablennamen wurden hier angepasst. Im Original "anx_mean" statt "anx_gesamt"
vars <- c("anx_gesamt", "karr_entsc_mean", "karr_juu_mean", "norm_desin_mean", "umw_ident_mean")
t_test_results <- d %>% select(all_of(vars), geschlecht1) %>%
pivot_longer(cols = -geschlecht1,
names_to = "Variable",
values_to = "Wert") %>%
group_by(Variable) %>%
summarise(test = list(t.test(Wert ~ geschlecht1))) %>%
mutate(tidied = map(test, tidy)) %>%
unnest(tidied)
t_test_results %>%
select(Variable, statistic, p.value, parameter, method) %>%
mutate(p.value = round(p.value, 3))
# durch Alter
d %>%
select(all_of(vars), alter_jahre) %>%
pivot_longer(cols = -alter_jahre,
names_to = "Variable",
values_to = "Wert") %>%
group_by(Variable) %>%
summarise(test = list(cor.test(Wert, alter_jahre))) %>%
mutate(tidied = map(test, tidy)) %>%
unnest(tidied) %>%
select(Variable, estimate, p.value) %>%
mutate(p.value = round(p.value, 3),
estimate = round(estimate, 2))
#Prüfung H1a und
# Visualisierung
lmH1 <- lm(karr_entsc_mean ~ anx_gesamt, data = d)
summary(lmH1)
##
## Call:
## lm(formula = karr_entsc_mean ~ anx_gesamt, data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.2948 -0.5820 -0.1147 0.5172 3.2345
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.88242 0.07309 12.07 <2e-16 ***
## anx_gesamt 0.43077 0.02443 17.64 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.8386 on 1025 degrees of freedom
## Multiple R-squared: 0.2328, Adjusted R-squared: 0.232
## F-statistic: 311 on 1 and 1025 DF, p-value: < 2.2e-16
##
ggplot(d, aes(x = anx_gesamt, y = karr_entsc_mean)) +
# geom_jitter sorgt dafür, dass die Punkte nicht alle übereinander liegen (Overplotting)
# alpha = 0.2 macht die Punkte transparent, damit man Cluster besser sieht
geom_jitter(alpha = 0.3, width = 0.2, height = 0.2, color = "grey40") +
# Die Regressionsgerade (method = "lm")
geom_smooth(method = "lm", color = "#2E86C1", fill = "#AED6F1") +
# Beschriftung und Design
labs(title = "Zusammenhang zwischen Klimaangst und Karriereentscheidungen",
subtitle = paste("R² =", round(summary(lmH1)$r.squared, 3)),
x = "Klimaangst (Mittelwert)",
y = "Umweltbewusste Karriereentscheidungen") +
theme_minimal() + # Sauberes Design
theme(plot.title = element_text(face = "bold"))
## `geom_smooth()` using formula = 'y ~ x'
lmH1b <- lm(karr_juu_mean ~ anx_gesamt, data = d)
summary(lmH1b)
##
## Call:
## lm(formula = karr_juu_mean ~ anx_gesamt, data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.01110 -0.63437 -0.06937 0.50639 2.89374
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.27633 0.06951 18.36 <2e-16 ***
## anx_gesamt 0.33043 0.02323 14.22 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7975 on 1025 degrees of freedom
## Multiple R-squared: 0.1648, Adjusted R-squared: 0.164
## F-statistic: 202.3 on 1 and 1025 DF, p-value: < 2.2e-16
ggplot(d, aes(x = anx_gesamt, y = karr_juu_mean)) +
# geom_jitter sorgt dafür, dass die Punkte nicht alle übereinander liegen (Overplotting)
# alpha = 0.2 macht die Punkte transparent, damit man Cluster besser sieht
geom_jitter(alpha = 0.3, width = 0.2, height = 0.2, color = "grey40") +
# Die Regressionsgerade (method = "lm")
geom_smooth(method = "lm", color = "#2E86C1", fill = "#AED6F1") +
# Beschriftung und Design
labs(title = "Zusammenhang zwischen Klimaangst und Karriereabsichten",
subtitle = paste("R² =", round(summary(lmH1)$r.squared, 3)),
x = "Klimaangst (Mittelwert)",
y = "Umweltbewusste Karriereabsichten") +
theme_minimal() + # Sauberes Design
theme(plot.title = element_text(face = "bold"))
## `geom_smooth()` using formula = 'y ~ x'
#Moderation/Interaktion
#durch Umweltidentität und Soziale Normen
#Zentrierung
d <- d %>%
mutate(
anx_c = as.numeric(scale(anx_gesamt, scale = FALSE)), # Klimaangst zentriert
norm_c = as.numeric(scale(norm_desin_mean, scale = FALSE)), # Soziale Norm zentriert
umw_c = as.numeric(scale(umw_ident_mean, scale = FALSE)) # Umweltidentität zentriert
)
#Umweltidentität
#Interaktionsmodell für Karriereentscheidungen
lmH2 <- lm(karr_entsc_mean ~ anx_c * umw_c + geschlecht1 + alter_jahre, data = d)
summary(lmH2)
##
## Call:
## lm(formula = karr_entsc_mean ~ anx_c * umw_c + geschlecht1 +
## alter_jahre, data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.35025 -0.57202 -0.09234 0.51721 3.02337
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.0049929 0.0789142 25.407 < 2e-16 ***
## anx_c 0.4015248 0.0275055 14.598 < 2e-16 ***
## umw_c 0.1331113 0.0291919 4.560 5.76e-06 ***
## geschlecht1männlich 0.1174767 0.0566946 2.072 0.0385 *
## alter_jahre 0.0007676 0.0022284 0.344 0.7306
## anx_c:umw_c 0.0381224 0.0248567 1.534 0.1254
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.8237 on 989 degrees of freedom
## (32 Beobachtungen als fehlend gelöscht)
## Multiple R-squared: 0.2536, Adjusted R-squared: 0.2498
## F-statistic: 67.21 on 5 and 989 DF, p-value: < 2.2e-16
#Visualisierung
# Simple Slopes Plot (zeigt die Interaktion, kontrolliert für den Rest)
interact_plot(lmH2,
pred = anx_c,
modx = umw_c,
interval = TRUE,
x.label = "Klimaangst",
y.label = "Karriereentscheidungen",
legend.main = "Umweltidentität")
#Interaktionsmodell für Karriereabsichten
lmH2b <- lm(karr_juu_mean ~ anx_c * umw_c + geschlecht1 + alter_jahre, data = d)
summary(lmH2b)
##
## Call:
## lm(formula = karr_juu_mean ~ anx_c * umw_c + geschlecht1 + alter_jahre,
## data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.07090 -0.57584 -0.06646 0.49347 2.86282
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.051428 0.074658 27.478 < 2e-16 ***
## anx_c 0.320318 0.026022 12.310 < 2e-16 ***
## umw_c 0.132453 0.027617 4.796 1.87e-06 ***
## geschlecht1männlich 0.183761 0.053637 3.426 0.000638 ***
## alter_jahre 0.002664 0.002108 1.264 0.206620
## anx_c:umw_c -0.006821 0.023516 -0.290 0.771844
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7793 on 989 degrees of freedom
## (32 Beobachtungen als fehlend gelöscht)
## Multiple R-squared: 0.2042, Adjusted R-squared: 0.2002
## F-statistic: 50.77 on 5 and 989 DF, p-value: < 2.2e-16
#Visualisierung
interact_plot(lmH2b,
pred = anx_c,
modx = umw_c,
interval = TRUE,
x.label = "Klimaangst",
y.label = "Karriereabsichten",
legend.main = "Umweltidentität")
#Soziale Normen
#Modelle
lmH3 <- lm(karr_entsc_mean ~ anx_c * norm_c + geschlecht1 + alter_jahre, data = d)
summary(lmH3)
##
## Call:
## lm(formula = karr_entsc_mean ~ anx_c * norm_c + geschlecht1 +
## alter_jahre, data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.92903 -0.54543 -0.08145 0.49404 2.63553
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.991823 0.074785 26.634 <2e-16 ***
## anx_c 0.353146 0.026822 13.167 <2e-16 ***
## norm_c 0.398716 0.043673 9.130 <2e-16 ***
## geschlecht1männlich 0.059027 0.055203 1.069 0.285
## alter_jahre 0.001924 0.002080 0.925 0.355
## anx_c:norm_c 0.034931 0.035330 0.989 0.323
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7994 on 989 degrees of freedom
## (32 Beobachtungen als fehlend gelöscht)
## Multiple R-squared: 0.2971, Adjusted R-squared: 0.2935
## F-statistic: 83.6 on 5 and 989 DF, p-value: < 2.2e-16
lmH3b <- lm(karr_juu_mean ~ anx_c * norm_c + geschlecht1 + alter_jahre, data = d)
summary(lmH3b)
##
## Call:
## lm(formula = karr_juu_mean ~ anx_c * norm_c + geschlecht1 + alter_jahre,
## data = d)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.80805 -0.55409 -0.04569 0.48111 2.99801
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.034735 0.070922 28.690 <2e-16 ***
## anx_c 0.276279 0.025436 10.862 <2e-16 ***
## norm_c 0.366774 0.041418 8.856 <2e-16 ***
## geschlecht1männlich 0.121826 0.052352 2.327 0.0202 *
## alter_jahre 0.004118 0.001973 2.087 0.0371 *
## anx_c:norm_c -0.047728 0.033505 -1.424 0.1546
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7581 on 989 degrees of freedom
## (32 Beobachtungen als fehlend gelöscht)
## Multiple R-squared: 0.247, Adjusted R-squared: 0.2431
## F-statistic: 64.87 on 5 and 989 DF, p-value: < 2.2e-16
#Visualisierung
# Simple Slopes Plot (zeigt die Interaktion, kontrolliert für den Rest)
interact_plot(lmH3,
pred = anx_c,
modx = norm_c,
interval = TRUE,
x.label = "Klimaangst",
y.label = "Karriereentscheidungen",
legend.main = "Soziale Normen")
interact_plot(lmH3b,
pred = anx_c,
modx = norm_c,
interval = TRUE,
x.label = "Klimaangst (zentriert)",
y.label = "Karriereabsichten",
legend.main = "Soziale Normen")
This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.