Daten einlesen
data <- read_csv2("/Users/katharinalehr/Documents/DatenanalyseMitR/data/Probandendaten40.csv", na = "NA")
## ℹ Using "','" as decimal and "'.'" as grouping mark. Use `read_delim()` for more control.
## Warning: One or more parsing issues, call `problems()` on your data frame for details,
## e.g.:
## dat <- vroom(...)
## problems(dat)
## Rows: 40 Columns: 97
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (82): Submission ID, Respondent ID, Submitted at, Wie würden Sie Ihr Ges...
## dbl (15): Wie alt sind Sie?, Kaffee Zahl, Energy Drink Zahl, Cola 330 Zahl, ...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
data <- as_tibble(data)
Datenaufbereiten
a) Umbennen der Variablen
data_rename <- data %>%
rename(
# exam stress
psq_01_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Sie fühlen sich ausgeruht?]`,
psq_02_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Sie haben das Gefühl, dass zu viele Forderungen an Sie gestellt werden.\n]`,
psq_03_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Sie haben zuviel zu tun.]`,
psq_04_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Sie haben das Gefühl, Dinge zu tun, die Sie wirklich mögen.]`,
psq_05_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Sie fürchten, Ihre Ziele nicht erreichen zu können.]`,
psq_06_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Sie fühlen sich ruhig.\n]`,
psq_07_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Sie fühlen sich frustriert.\n]`,
psq_08_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Sie sind voller Energie.]`,
psq_09_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Sie fühlen sich angespannt.]`,
psq_10_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Ihre Probleme scheinen sich aufzutürmen.]`,
psq_11_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Sie fühlen sich gehetzt.]`,
psq_12_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Sie fühlen sich sicher und geschützt.]`,
psq_13_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Sie haben viele Sorgen.]`,
psq_14_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Sie haben Spaß.]`,
psq_15_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Sie haben Angst vor der Zukunft.]`,
psq_16_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Sie sind leichten Herzens.]`,
psq_17_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Sie fühlen sich mental erschöpft.]`,
psq_18_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Sie haben Probleme, sich zu entspannen.]`,
psq_19_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Sie haben genug Zeit für sich.]`,
psq_20_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel in einer Prüfungsphase ?\n [Sie fühlen sich unter Termindruck.\n]`,
# no_exam stress
psq_01_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Sie fühlen sich ausgeruht?]`,
psq_02_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Sie haben das Gefühl, dass zu viele Forderungen an Sie gestellt werden.\n]`,
psq_03_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Sie haben zuviel zu tun.]`,
psq_04_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Sie haben das Gefühl, Dinge zu tun, die Sie wirklich mögen.]`,
psq_05_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Sie fürchten, Ihre Ziele nicht erreichen zu können.]`,
psq_06_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Sie fühlen sich ruhig.\n]`,
psq_07_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Sie fühlen sich frustriert.\n]`,
psq_08_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Sie sind voller Energie.]`,
psq_09_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Sie fühlen sich angespannt.]`,
psq_10_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Ihre Probleme scheinen sich aufzutürmen.]`,
psq_11_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Sie fühlen sich gehetzt.]`,
psq_12_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Sie fühlen sich sicher und geschützt.]`,
psq_13_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Sie haben viele Sorgen.]`,
psq_14_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Sie haben Spaß.]`,
psq_15_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Sie haben Angst vor der Zukunft.]`,
psq_16_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Sie sind leichten Herzens.]`,
psq_17_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Sie fühlen sich mental erschöpft.]`,
psq_18_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Sie haben Probleme, sich zu entspannen.]`,
psq_19_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Sie haben genug Zeit für sich.]`,
psq_20_no_exam = `Wie hoch ist für gewöhnlich Ihr wahrgenommenes Stresslevel außerhalb einer Prüfungsphase ?\n [Sie fühlen sich unter Termindruck.\n]`,
# Prüfungsphase Koffein
kaffee_exam = `Kaffee Zahl`,
energydrink_exam = `Energy Drink Zahl`,
cola330_exam = `Cola 330 Zahl`,
cola500_exam = `Cola 550 Zahl`,
schwarztee_exam = `Schwarztee Zahl`,
gruenetee_exam = `Grüner Tee Zahl`,
matcha_exam = `Matcha Zahl`,
# außerhalb Prüfungsphase Koffein
kaffee_no_exam = `Kaffee Zahl (2)`,
energydrink_no_exam = `Energy Drink Zahl (2)`,
cola330_no_exam = `Cola 330 Zahl (2)`,
cola500_no_exam = `Cola 550 Zahl (2)`,
schwarztee_no_exam = `Schwarztee Zahl (2)`,
gruenetee_no_exam = `Grüner Tee Zahl (2)`,
matcha_no_exam = `Matcha Zahl (2)`
)
Gibt es einen Unterschied im wahrgenommenen Stress von Studierenden
zwischen Prüfungsphase und Nicht-Prüfungsphase
a) Mittelwerte und Statistische Tests für Stress
# Stress-Mittelwert pro Phase berechnen
data_rename <- data_rename %>%
mutate(stress_mean_exam =
rowMeans(
cbind(
psq_01_exam, psq_02_exam, psq_03_exam, psq_04_exam, psq_05_exam,
psq_06_exam, psq_07_exam, psq_08_exam, psq_09_exam, psq_10_exam,
psq_11_exam, psq_12_exam, psq_13_exam, psq_14_exam, psq_15_exam,
psq_16_exam, psq_17_exam, psq_18_exam, psq_19_exam, psq_20_exam
),
na.rm = TRUE
),
stress_mean_no_exam =
rowMeans(
cbind(
psq_01_no_exam, psq_02_no_exam, psq_03_no_exam, psq_04_no_exam, psq_05_no_exam,
psq_06_no_exam, psq_07_no_exam, psq_08_no_exam, psq_09_no_exam, psq_10_no_exam,
psq_11_no_exam, psq_12_no_exam, psq_13_no_exam, psq_14_no_exam, psq_15_no_exam,
psq_16_no_exam, psq_17_no_exam, psq_18_no_exam, psq_19_no_exam, psq_20_no_exam
),
na.rm = TRUE
)
)
b) Shapiro Wilk für Normalverteilung
shapiro.test(data_rename$stress_mean_exam)
##
## Shapiro-Wilk normality test
##
## data: data_rename$stress_mean_exam
## W = 0.9224, p-value = 0.01033
c) Wilcox Test
wilcox.test(
data_rename$stress_mean_exam,
data_rename$stress_mean_no_exam,
paired = TRUE)
## Warning in wilcox.test.default(data_rename$stress_mean_exam,
## data_rename$stress_mean_no_exam, : cannot compute exact p-value with ties
## Warning in wilcox.test.default(data_rename$stress_mean_exam,
## data_rename$stress_mean_no_exam, : cannot compute exact p-value with zeroes
##
## Wilcoxon signed rank test with continuity correction
##
## data: data_rename$stress_mean_exam and data_rename$stress_mean_no_exam
## V = 557, p-value = 8.049e-07
## alternative hypothesis: true location shift is not equal to 0
d) Effektgröße
data_long <- data_rename %>%
mutate(id = row_number()) %>% # wichtig für paired!
select(id, stress_mean_exam, stress_mean_no_exam) %>%
gather(
key = "Phasen",
value = "Phasen_stress_mean",
stress_mean_exam, stress_mean_no_exam
)
wilcox_effsize(
data_long,
Phasen_stress_mean ~ Phasen,
paired = TRUE,
id = id
)
## # A tibble: 1 × 7
## .y. group1 group2 effsize n1 n2 magnitude
## * <chr> <chr> <chr> <dbl> <int> <int> <ord>
## 1 Phasen_stress_mean stress_mean_exam stress_mean… 0.854 39 34 large
Balkendiagramm Wahrgenommener Stress in Prüfungsphase und Nicht
Prüfungsphase
stress_long <- data_rename %>%
select(stress_mean_exam, stress_mean_no_exam) %>%
pivot_longer(
cols = c(stress_mean_exam, stress_mean_no_exam),
names_to = "Phase",
values_to = "Wert"
) %>%
mutate(
Phase = recode(
Phase,
stress_mean_exam = "Prüfungsphase",
stress_mean_no_exam = "Nicht Prüfungsphase"
),
Phase = factor(Phase, levels = c("Nicht Prüfungsphase", "Prüfungsphase"))
)
stress_summary <- stress_long %>%
group_by(Phase) %>%
summarise(
Mean = mean(Wert, na.rm = TRUE),
SD = sd(Wert, na.rm = TRUE),
.groups = "drop"
)
p_stress <- ggplot(stress_summary, aes(x = Phase, y = Mean, fill = Phase)) +
geom_col(color = "black", width = 0.6) +
geom_errorbar(
aes(ymin = pmax(Mean - SD, 0), ymax = Mean + SD),
width = 0.2
) +
scale_fill_manual(
values = c(
"Nicht Prüfungsphase" = "#4DA3FF",
"Prüfungsphase" = "#FF7F50"
)
) +
scale_y_continuous(limits = c(0, NA)) +
labs(
x = "",
y = "Wahrgenommener Stress (1 = fast nie, 4 = meistens)"
) +
theme_minimal() +
theme(legend.position = "none")
p_stress

Gibt es einen Unterschied im Koffeinkonsum von Studierenden zwischen
Prüfungsphase und Nicht-Prüfungsphase
a) mg/Tag Koffein berechnen (für jede Person)
# Koffein-mg pro Portion
koffein_mg <- c(
kaffee = 85,
energydrink = 80,
cola330 = 33,
cola500 = 50,
schwarztee = 40,
gruenetee = 30,
matcha = 30
)
data_rename <- data_rename %>%
mutate(
koffein_tag_exam =
rowSums(cbind(
kaffee_exam * koffein_mg["kaffee"],
energydrink_exam * koffein_mg["energydrink"],
cola330_exam * koffein_mg["cola330"],
cola500_exam * koffein_mg["cola500"],
schwarztee_exam * koffein_mg["schwarztee"],
gruenetee_exam * koffein_mg["gruenetee"],
matcha_exam * koffein_mg["matcha"]
), na.rm = TRUE) / 7,
koffein_tag_no_exam =
rowSums(cbind(
kaffee_no_exam * koffein_mg["kaffee"],
energydrink_no_exam * koffein_mg["energydrink"],
cola330_no_exam * koffein_mg["cola330"],
cola500_no_exam * koffein_mg["cola500"],
schwarztee_no_exam * koffein_mg["schwarztee"],
gruenetee_no_exam * koffein_mg["gruenetee"],
matcha_no_exam * koffein_mg["matcha"]
), na.rm = TRUE) / 7
)
b) Shapiro Wilk für Normalverteilung
shapiro.test(data_rename$koffein_tag_exam)
##
## Shapiro-Wilk normality test
##
## data: data_rename$koffein_tag_exam
## W = 0.89278, p-value = 0.001187
c) Wilcox Test
wilcox.test(
data_rename$koffein_tag_exam,
data_rename$koffein_tag_no_exam,
paired = TRUE)
## Warning in wilcox.test.default(data_rename$koffein_tag_exam,
## data_rename$koffein_tag_no_exam, : cannot compute exact p-value with ties
## Warning in wilcox.test.default(data_rename$koffein_tag_exam,
## data_rename$koffein_tag_no_exam, : cannot compute exact p-value with zeroes
##
## Wilcoxon signed rank test with continuity correction
##
## data: data_rename$koffein_tag_exam and data_rename$koffein_tag_no_exam
## V = 388, p-value = 2.652e-05
## alternative hypothesis: true location shift is not equal to 0
d) Effektstärke
#wide -> long
data_long2 <- data_rename %>%
mutate(id = row_number()) %>% # wichtig für paired!
select(id, koffein_tag_exam, koffein_tag_no_exam) %>%
gather(
key = "Phasen",
value = "Phasen_koffein_mean",
koffein_tag_exam, koffein_tag_no_exam
)
wilcox_effsize(
data_long2,
Phasen_koffein_mean ~ Phasen,
paired = TRUE,
id = id
)
## # A tibble: 1 × 7
## .y. group1 group2 effsize n1 n2 magnitude
## * <chr> <chr> <chr> <dbl> <int> <int> <ord>
## 1 Phasen_koffein_mean koffein_tag_exam koffein_ta… 0.736 40 40 large
Balkendiagramm Koffeinmenge in Prüfungsphase und Nicht
Prüfungsphase
koffein_long <- data_rename %>%
select(koffein_tag_exam, koffein_tag_no_exam) %>%
pivot_longer(
cols = c(koffein_tag_exam, koffein_tag_no_exam),
names_to = "Phase",
values_to = "Wert"
) %>%
mutate(
Phase = recode(
Phase,
koffein_tag_exam = "Prüfungsphase",
koffein_tag_no_exam = "Nicht Prüfungsphase"
),
Phase = factor(Phase, levels = c("Nicht Prüfungsphase", "Prüfungsphase"))
)
koffein_summary <- koffein_long %>%
group_by(Phase) %>%
summarise(
Mean = mean(Wert, na.rm = TRUE),
SD = sd(Wert, na.rm = TRUE),
.groups = "drop"
)
p_koffein <- ggplot(koffein_summary, aes(x = Phase, y = Mean, fill = Phase)) +
geom_col(color = "black", width = 0.6) +
geom_errorbar(
aes(ymin = pmax(Mean - SD, 0), ymax = Mean + SD),
width = 0.2
) +
scale_fill_manual(
values = c(
"Nicht Prüfungsphase" = "#4DA3FF",
"Prüfungsphase" = "#FF7F50"
)
) +
scale_y_continuous(limits = c(0, NA)) +
labs(
x = "",
y = "Koffeinmenge (mg/Tag)"
) +
theme_minimal() +
theme(legend.position = "none")
p_koffein
