Appendix E — Übung 5 & 6: Verteilungen und Tests

Erstellt mit R das Histogramm und die Verteilungsfunktion des Sommer-Niederschlags am Grossen St. Bernhard (Datei mit Saison-Mittelwerten). Tipp: In R kann die empirische Verteilungsfunktion mit der Funktion ecdf() erzeugt werden.

meteodaten <- read.csv('Data/meteodaten_saison.csv',
                       sep = ',',
                       header = TRUE)

# Zeichne das Histogramm mit absoluter Häufigkeit
hist(meteodaten$GrStBernhard_Niederschlagssumme,
     main = "Histogramm und Empirische Verteilungsfunktion",
     xlab = "Niederschlagssumme (mm)",
     ylab = "Häufigkeit",
     col = "lightblue",
     freq = TRUE)  # Zeigt absolute Häufigkeit

# Füge die empirische Verteilungsfunktion hinzu
par(new = TRUE)  # Erlaube das Zeichnen eines neuen Plots auf der bestehenden Grafik
plot(ecdf(meteodaten$GrStBernhard_Niederschlagssumme),
     axes = FALSE,  # Deaktiviere Achsen für den zweiten Plot
     xlab = "",
     ylab = "",
     main = "",  # Kein Titel, um Überlappung zu vermeiden
     col = "red",
     lwd = 2,
     pch = NA)  # Entfernt die Punkte auf der Linie

# Füge die rechte y-Achse hinzu
axis(4, col = "red", col.axis = "red")  # 4 steht für die rechte Seite
mtext("F(x)", side = 4, line = 3, col = "red")  # Beschriftung der rechten y-Achse

Lies aus dem Plot der Verteilungsfunktion ungefähr ab, welcher Niederschlag in 20% der Jahre überschritten wird?

# Zeichne das Histogramm mit absoluter Häufigkeit
hist(meteodaten$GrStBernhard_Niederschlagssumme,
     main = "Histogramm und Empirische Verteilungsfunktion",
     xlab = "Niederschlagssumme (mm)",
     ylab = "Häufigkeit",
     col = "lightblue",
     freq = TRUE)  # Zeigt absolute Häufigkeit

# Füge die empirische Verteilungsfunktion hinzu
par(new = TRUE)  # Erlaube das Zeichnen eines neuen Plots auf der bestehenden Grafik
plot(ecdf(meteodaten$GrStBernhard_Niederschlagssumme),
     axes = FALSE,  # Deaktiviere Achsen für den zweiten Plot
     xlab = "",
     ylab = "",
     main = "",  # Kein Titel, um Überlappung zu vermeiden
     col = "red",
     lwd = 2,
     pch = NA)  # Entfernt die Punkte auf der Linie

# Berechne den Wert, bei dem die Verteilungsfunktion 80% überschreitet
niederschlag_80 <- quantile(meteodaten$GrStBernhard_Niederschlagssumme, 0.8)

# Füge die rechte y-Achse hinzu
axis(4, col = "red", col.axis = "red")  # 4 steht für die rechte Seite
mtext("F(x)", side = 4, line = 3, col = "red")  # Beschriftung der rechten y-Achse

# Zeichne eine vertikale Linie bei 80%
abline(v = niederschlag_80, col = "blue", lty = 2)  # Vertikale Linie bei 80%-Quantil hinzufügen
text(niederschlag_80, 0.5, paste("80%:", round(niederschlag_80, 1), "mm"), col = "blue", pos = 4)

# Zeichne eine horizontale gestrichelte Linie bei 80%
abline(h = 0.8, col = "blue", lty = 2)

ANTWORT: Die Niederschlagssumme, die in 20% der Jahre überschritten wird, beträgt 647.2 mm.

E.1 Statistische Tests mit Psychologieexperiment

Daten einlesen

psychologieExperiment <- read.table('Data/Psycho_Exp_Ergebnisse2_2024-10-28.csv',
                                    sep = ',',
                                    header = TRUE,
                                    na.strings = '999')

# Spalten im DataFrame umbenennen (kürzere und schönere Namen)
colnames(psychologieExperiment) <- c(
  "Gefuehl_Vor_SelberGutesTun",
  "Gefuehl_Nach_SelberGutesTun",
  "Gefuehl_Vor_AnderenGutesTun",
  "Gefuehl_Nach_AnderenGutesTun")

Gehen wir mal davon aus, dass die Mittelwerte interpretierbar seien. (Nächste Woche lernen wir weitere Test für Verteilungen kennen und Test, wenn die Normalverteilung nicht gegeben ist.) Dann könnten wir untersuchen, wie stark sich die Mittelwerte vor und nach dem Experiment unterscheiden und ob die Unterschiede statistisch signifikant sind.

Stellt nun zunächst die Null- und Alternativhypothesen für beide Experimente (1. sich selber und 2. anderen etwas gutes tun) auf, ob etwas Gutes tun sich auf das Wohlbefinden auswirkt.

H0: Die beiden Mittelwerte sind gleich

HA: Jemandem oder uns selbst etwas Gutes zu tun, hat einen (positiven) Einfluss auf das Wohlbefinden

Erstelle einen Boxplot, um die Verteilung der Daten anzusehen und einen ersten Eindruck zu erhalten

boxplot(psychologieExperiment,
        main = "Boxplot der Gefühle vor und nach dem Experiment",
        ylab = "Gefühle",
        col = c("lightblue", "lightgreen"),
        names = c("Gefühl, vor dem man sich selbst etwas Gutes tut",
                  "Gefühl, nach dem man sich selbst etwas Gutes tut",
                  "Gefühl, vor dem man jemand anderem etwas Gutes tut",
                  "Gefühl, nach dem man jemand anderem etwas Gutes tut"),
        las = 2)

Berechne wie gross die Unterschiede der Mittelwerte sind?

DiffSelberGutesTun <- mean(psychologieExperiment$Gefuehl_Nach_SelberGutesTun,
                           na.rm = TRUE) -
                      mean(psychologieExperiment$Gefuehl_Vor_SelberGutesTun,
                           na.rm = TRUE)
print(DiffSelberGutesTun)
[1] 2.027027
DiffAnderenGutesTun <- mean(psychologieExperiment$Gefuehl_Nach_AnderenGutesTun,
                            na.rm = TRUE) -
                       mean(psychologieExperiment$Gefuehl_Vor_AnderenGutesTun,
                            na.rm = TRUE)
print(DiffAnderenGutesTun)
[1] 1.918919

Interpretiere die Unterschiede!

ANTWORT: Beide Effekte sind positiv. Fast identisch grosse Effekte.

Führe nun einen 2-Stichproben T-Test mit R durch. Schau dir mit der Hilfe unter ?t.test die Parameter der t.test Funktion in R an. Wähle entsprechend einen ein- oder zweiseitigen Test, das Konfidenzlevel mit 99% und gehe davon aus, dass die Varianzen beider Stichproben gleich sind. Recherchiere, ob es sich um abhängige oder unabhängige Stichproben handelt. Gibt den entsprechenden Parameter bei der Nutzung der t.test Funktion an.

t.test(psychologieExperiment$Gefuehl_Nach_SelberGutesTun,
       psychologieExperiment$Gefuehl_Vor_SelberGutesTun,
       alternative = "greater",
       paired = TRUE,
       equal.var = TRUE,
       conf.level = 0.99)

    Paired t-test

data:  psychologieExperiment$Gefuehl_Nach_SelberGutesTun and psychologieExperiment$Gefuehl_Vor_SelberGutesTun
t = 9.8012, df = 36, p-value = 5.298e-12
alternative hypothesis: true mean difference is greater than 0
99 percent confidence interval:
 1.523537      Inf
sample estimates:
mean difference 
       2.027027 
t.test(psychologieExperiment$Gefuehl_Nach_AnderenGutesTun,
       psychologieExperiment$Gefuehl_Vor_AnderenGutesTun,
       alternative = "greater",
       paired = TRUE,
       equal.var = TRUE,
       conf.level = 0.99)

    Paired t-test

data:  psychologieExperiment$Gefuehl_Nach_AnderenGutesTun and psychologieExperiment$Gefuehl_Vor_AnderenGutesTun
t = 8.5716, df = 36, p-value = 1.61e-10
alternative hypothesis: true mean difference is greater than 0
99 percent confidence interval:
 1.373909      Inf
sample estimates:
mean difference 
       1.918919 

Interpretiere die Ausgabe des Tests (Konfidenzintervalle besprechen wir nächste Woche).

ANTWORT:

Ihr könntest mit einem gleichen t-Test auch testen, ob der Effekt beider Experimente gleich gross ist, d.h. wirkt es sich gleich oder unterschiedlich auf das Befinden aus, ob man sich selbst oder anderen etwas Gutes tut. Wie würdet ihr hierfür vorgehen?

  1. Hypothesen aufstellen

H0: Ob ich anderen oder mir selber tue underscheidet sich nicht in der Auswirkung auf mein Wohlbefinden.

HA: Ob ich anderen oder mir selber tue unterscheidet sich in der Auswirkung auf mein Wohlbefinden.

  1. Berechnungen
DiffAuswirkung <- DiffSelberGutesTun - DiffAnderenGutesTun
print(DiffAuswirkung)
[1] 0.1081081
  1. t-Test
t.test(psychologieExperiment$Gefuehl_Nach_SelberGutesTun -
         psychologieExperiment$Gefuehl_Vor_SelberGutesTun,
       psychologieExperiment$Gefuehl_Nach_AnderenGutesTun -
         psychologieExperiment$Gefuehl_Vor_AnderenGutesTun,
       alternative = "greater",
       paired = TRUE,
       equal.var = TRUE,
       conf.level = 0.99)

    Paired t-test

data:  psychologieExperiment$Gefuehl_Nach_SelberGutesTun - psychologieExperiment$Gefuehl_Vor_SelberGutesTun and psychologieExperiment$Gefuehl_Nach_AnderenGutesTun - psychologieExperiment$Gefuehl_Vor_AnderenGutesTun
t = 0.48727, df = 36, p-value = 0.3145
alternative hypothesis: true mean difference is greater than 0
99 percent confidence interval:
 -0.4320254        Inf
sample estimates:
mean difference 
      0.1081081 
  1. Interpretation aller ausgegebenen Ergebnisse der R t-test() Funktion.

ANTWORT:

Mit dem t-Wert von ca. 0.5 und einem p-Wert von ca. 0.3 können wir die Nullhypothese nicht ablehnen. Es gibt keinen statistisch signifikanten Unterschied zwischen den beiden Experimenten.

E.2 Chi^2 Verteilungstest zu Würfelexperiment

# Daten einlesen
wuerfel_daten <- read.table(
  "Data/alle_wuerfel.csv",
  sep = ",",
  header = TRUE
)

# Initialisierung eines Vektors für p-Werte
p_werte <- rep(NA, 4)

# Schleife durch die relevanten Spalten (Spalten 5 bis 32)
for (spalte in 5:32) {
  # Durchführung des Chi-Quadrat-Tests
  chi_quadrat_test <- chisq.test(x = wuerfel_daten[, spalte],
                                 p = wuerfel_daten[, 3])  # Erwartete Wahrscheinlichkeiten in Spalte 3

  # p-Wert speichern
  p_werte <- c(p_werte, chi_quadrat_test$p.value)

  # Barplot für absolute Häufigkeiten
  barplot(
    wuerfel_daten[, 4],
    names.arg = wuerfel_daten[, 1],
    col = "grey",
    ylim = c(0, 15),
    main = colnames(wuerfel_daten)[spalte]
  )

  # Neuen Plot für die Vergleichsdaten auf derselben Grafik
  par(new = TRUE)
  barplot(
    wuerfel_daten[, spalte],
    col = rgb(1, 0, 0, 0.5, maxColorValue = 1),
    ylim = c(0, 15)
  )

  # Legende hinzufügen, die den p-Wert anzeigt
  legend(
    "topleft",
    paste("p-Wert:", round(chi_quadrat_test$p.value, 2),
          ifelse(chi_quadrat_test$p.value < 0.05, "erfunden",
                 ifelse(
                   chi_quadrat_test$p.value > 0.9,
                      "wahrscheinlich erfunden",
                      "gewürfelt")
                 )
          )
  )

  # Anhalten für visuelle Überprüfung
  # cat("Drücke Enter, um fortzufahren...")
  # readline()
}
Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

Warning in chisq.test(x = wuerfel_daten[, spalte], p = wuerfel_daten[, 3]):
Chi-squared approximation may be incorrect

# Ergebniszeilen für die Interpretation der p-Werte hinzufügen
interpretation <- ifelse(
  p_werte < 0.05 | p_werte > 0.9,
  "erfunden", "gewürfelt"
)

# p-Werte und die neue Interpretation an den DataFrame anhängen
wuerfel_daten <- rbind(
  wuerfel_daten,
  p_werte,
  interpretation
)

# Überarbeiteter DataFrame mit neuen Zeilen für p-Werte und ihre Interpretation

E.3 Psychologie Experiment

Daten einlesen

psychologieExperiment <- read.table(
  'Data/Psycho_Exp_Ergebnisse2_2024-10-28.csv',
  sep = ',',
  header = TRUE,
  na.strings = '999'
)

# Spalten im DataFrame umbenennen
colnames(psychologieExperiment) <- c(
  "Gefuehl_Vor_SelberGutesTun",
  "Gefuehl_Nach_SelberGutesTun",
  "Gefuehl_Vor_AnderenGutesTun",
  "Gefuehl_Nach_AnderenGutesTun"
)

Erstelle sogenannte QQ Plots und führe den Shapiro Test auf Normalverteilung durch

# QQ-Plots für die vier Spalten erstellen

qqnorm(psychologieExperiment$Gefuehl_Vor_SelberGutesTun)
qqline(psychologieExperiment$Gefuehl_Vor_SelberGutesTun)

qqnorm(psychologieExperiment$Gefuehl_Nach_SelberGutesTun)
qqline(psychologieExperiment$Gefuehl_Nach_SelberGutesTun)

qqnorm(psychologieExperiment$Gefuehl_Vor_AnderenGutesTun)
qqline(psychologieExperiment$Gefuehl_Vor_AnderenGutesTun)

qqnorm(psychologieExperiment$Gefuehl_Nach_AnderenGutesTun)
qqline(psychologieExperiment$Gefuehl_Nach_AnderenGutesTun)

# Shapiro-Wilk-Test für die Normalverteilung durchführen
shapiro_test_vor_selber <- shapiro.test(psychologieExperiment$Gefuehl_Vor_SelberGutesTun)
shapiro_test_nach_selber <- shapiro.test(psychologieExperiment$Gefuehl_Nach_SelberGutesTun)
shapiro_test_vor_anderen <- shapiro.test(psychologieExperiment$Gefuehl_Vor_AnderenGutesTun)
shapiro_test_nach_anderen <- shapiro.test(psychologieExperiment$Gefuehl_Nach_AnderenGutesTun)

# Shapiro-Wilk-Testergebnisse ausgeben
shapiro_test_vor_selber

    Shapiro-Wilk normality test

data:  psychologieExperiment$Gefuehl_Vor_SelberGutesTun
W = 0.94075, p-value = 0.04874
shapiro_test_nach_selber

    Shapiro-Wilk normality test

data:  psychologieExperiment$Gefuehl_Nach_SelberGutesTun
W = 0.88499, p-value = 0.001157
shapiro_test_vor_anderen

    Shapiro-Wilk normality test

data:  psychologieExperiment$Gefuehl_Vor_AnderenGutesTun
W = 0.93818, p-value = 0.0404
shapiro_test_nach_anderen

    Shapiro-Wilk normality test

data:  psychologieExperiment$Gefuehl_Nach_AnderenGutesTun
W = 0.8824, p-value = 0.0009906

Sind alle Daten normalverteilt?

Die Ergebnisse des Shapiro-Wilk-Tests zeigen, dass der p-Wert für alle vier Variablen unter 0.05 liegt:

  • Gefühl Vor Selber Gutes Tun: p-Wert = 0.0487385
  • Gefühl Nach Selber Gutes Tun: p-Wert = 0.0011574
  • Gefühl Vor Anderen Gutes Tun: p-Wert = 0.0404011
  • Gefühl Nach Anderen Gutes Tun: p-Wert = 9.9057037^{-4}

Da alle p-Werte unter 0.05 liegen, können wir die Nullhypothese der Normalverteilung für alle Variablen ablehnen.

Antwort: Nein, die Daten sind nicht normalverteilt.

Beim t-Test hatten wir Gleichheit der Varianzen angenommen. Testet hier, ob diese Annahme korrekt war?

library(car)  # Für den Levene-Test
Loading required package: carData
# Levene-Test für Gleichheit der Varianzen
levene_test_result <- leveneTest(
  c(psychologieExperiment$Gefuehl_Nach_SelberGutesTun, psychologieExperiment$Gefuehl_Vor_SelberGutesTun),
  group = rep(c("Nach", "Vor"), each = nrow(psychologieExperiment))
)
Warning in
leveneTest.default(c(psychologieExperiment$Gefuehl_Nach_SelberGutesTun, :
rep(c("Nach", "Vor"), each = nrow(psychologieExperiment)) coerced to factor.
# Ausgabe des Testergebnisses

print(levene_test_result)
Levene's Test for Homogeneity of Variance (center = median)
      Df F value Pr(>F)
group  1  0.0147 0.9039
      72               
pWertLevene <- levene_test_result$`Pr(>F)`[1]

ANTWORT:

Die Ausgabe des Levene-Tests zeigt Folgendes:

  • p-Wert des Levene-Tests: 0.9039338

Interpretation:

Der p-Wert ist deutlich grösser als 0.05, was darauf hindeutet, dass die Nullhypothese der Gleichheit der Varianzen nicht abgelehnt wird. Das bedeutet, dass es keinen statistisch signifikanten Unterschied in den Varianzen der Gruppen gibt.

Antwort: Ja, die Annahme der Gleichheit der Varianzen beim t-Test war korrekt.

Wie stark verändert sich der Median in den beiden Experimenten von Bevor zu Danach?

# Berechnung der Mediane für die Bedingungen
median_vor_selber <- median(psychologieExperiment$Gefuehl_Vor_SelberGutesTun, na.rm = TRUE)
median_nach_selber <- median(psychologieExperiment$Gefuehl_Nach_SelberGutesTun, na.rm = TRUE)
median_vor_anderen <- median(psychologieExperiment$Gefuehl_Vor_AnderenGutesTun, na.rm = TRUE)
median_nach_anderen <- median(psychologieExperiment$Gefuehl_Nach_AnderenGutesTun, na.rm = TRUE)

# Berechnung der Veränderungen der Mediane
diff_median_selber <- median_nach_selber - median_vor_selber
diff_median_anderen <- median_nach_anderen - median_vor_anderen

# Ausgabe der Ergebnisse
cat("Veränderung des Medians für Selber Gutes Tun:", diff_median_selber, "\n")
Veränderung des Medians für Selber Gutes Tun: 2 
cat("Veränderung des Medians für Anderen Gutes Tun:", diff_median_anderen, "\n")
Veränderung des Medians für Anderen Gutes Tun: 2 

ANTWORT:

Suche mit Entscheidungsbäumen, Chatbots, Internetsuche, etc. welcher statistische Test sich zum Vergleich der zentralen Tendenz dieser Daten eignet? ANTWORT: Wilcoxon-Vorzeichen-Rang-Test. Dieser vergleicht die Mediane von zwei abhängigen Stichproben.

Parameterfreier Tests, d.h. unabhängig von Verteilung der Daten

# Wilcoxon-Vorzeichen-Rang-Tests für beide Experimente
wilcox_test_selber <- wilcox.test(
  psychologieExperiment$Gefuehl_Vor_SelberGutesTun,
  psychologieExperiment$Gefuehl_Nach_SelberGutesTun,
  paired = TRUE
)
Warning in
wilcox.test.default(psychologieExperiment$Gefuehl_Vor_SelberGutesTun, : cannot
compute exact p-value with ties
Warning in
wilcox.test.default(psychologieExperiment$Gefuehl_Vor_SelberGutesTun, : cannot
compute exact p-value with zeroes
wilcox_test_anderen <- wilcox.test(
  psychologieExperiment$Gefuehl_Vor_AnderenGutesTun,
  psychologieExperiment$Gefuehl_Nach_AnderenGutesTun,
  paired = TRUE
)
Warning in
wilcox.test.default(psychologieExperiment$Gefuehl_Vor_AnderenGutesTun, : cannot
compute exact p-value with ties
Warning in
wilcox.test.default(psychologieExperiment$Gefuehl_Vor_AnderenGutesTun, : cannot
compute exact p-value with zeroes
# Ausgabe der Testergebnisse
wilcox_test_selber

    Wilcoxon signed rank test with continuity correction

data:  psychologieExperiment$Gefuehl_Vor_SelberGutesTun and psychologieExperiment$Gefuehl_Nach_SelberGutesTun
V = 0, p-value = 2.768e-07
alternative hypothesis: true location shift is not equal to 0
wilcox_test_anderen

    Wilcoxon signed rank test with continuity correction

data:  psychologieExperiment$Gefuehl_Vor_AnderenGutesTun and psychologieExperiment$Gefuehl_Nach_AnderenGutesTun
V = 28, p-value = 2.051e-06
alternative hypothesis: true location shift is not equal to 0

Wie interpretierst du die Tests?

E.3.1 Interpretation der Warnungen und Testergebnisse:

E.3.1.1 Testergebnisse:

  • Wilcoxon-Test für Selber Gutes Tun:
    • V-Wert: 0
    • p-Wert: 2.7683169^{-7}

Der p-Wert ist viel kleiner als 0.05, was bedeutet, dass die Veränderung der Mediane statistisch signifikant ist. Die Nullhypothese (kein Unterschied der zentralen Tendenz) kann abgelehnt werden, was darauf hinweist, dass das Experiment „Selber Gutes Tun“ eine signifikante Veränderung im Median bewirkt hat.

  • Wilcoxon-Test für Anderen Gutes Tun:
    • V-Wert: 28
    • p-Wert: 2.0506755^{-6}

Auch hier ist der p-Wert viel kleiner als 0.05. Die Nullhypothese kann abgelehnt werden, was zeigt, dass auch das Experiment „Anderen Gutes Tun“ eine signifikante Veränderung im Median bewirkt hat.

E.3.2 Gesamtfazit:

Beide Experimente zeigen eine signifikante Veränderung der Mediane von „Bevor“ zu „Danach“. Die zentralen Tendenzen sind in beiden Fällen signifikant unterschiedlich. Dies unterstützt die Schlussfolgerung, dass die Handlung, sich selbst oder anderen etwas Gutes zu tun, eine positive Wirkung auf die Bewertung des Gefühls hat.