Einleitung

  • Einfaktorielle ANOVA: Vergleicht die Mittelwerte von drei oder mehr Gruppen basierend auf einer einzigen unabhängigen Variable.

  • Zweifaktorielle ANOVA: Untersucht den Einfluss von zwei unabhängigen Variablen auf eine abhängige Variable, einschließlich ihrer Interaktion.

  • ANOVA mit wiederholten Messungen: Wird verwendet, wenn dieselben Probanden unter verschiedenen Bedingungen über die Zeit getestet werden.

  • Post-hoc Tests: Werden durchgeführt, um herauszufinden, welche spezifischen Gruppen sich unterscheiden, wenn die ANOVA signifikant ist.

Übung 1 (Lichtquellen)

Untersuche den Einfluss von drei verschiedenen Lichtquellen (Sonnenlicht, LED-Licht und fluoreszierendes Licht) auf den Chlorophyllgehalt in Pflanzen. Verwende eine einweg-ANOVA, um festzustellen, ob es signifikante Unterschiede zwischen den Gruppen gibt.

Aufgaben

  1. Erstelle einen Datensatz mit den Lichtquellen und den gemessenen Chlorophyllgehalten.
  2. Führe eine ANOVA durch und iterpretiere das Ergebnis.
  3. Erstelle ein Boxplot, um die Verteilung des Chlorophyllgehalts für jede Lichtquelle zu visualisieren.
  4. Interpretiere die Ergebnisse.
  5. Führe einen Post-hoc-Test (z.B. TukeyHSD) durch, um zu sehen, welche Gruppen sich signifikant voneinander unterscheiden.
data <- data.frame(
  Lichtquelle = factor(rep(c("Sonnenlicht", "LED-Licht", "Fluoreszierendes Licht"), each = 10)),
  Chlorophyllgehalt = c(2.5, 2.7, 2.6, 2.8, 2.9, 2.7, 2.6, 2.8, 2.7, 2.9,  # Sonnenlicht
                        2.1, 2.2, 2.3, 2.4, 2.2, 2.3, 2.1, 2.2, 2.3, 2.4,  # LED-Licht
                        1.8, 1.9, 1.7, 1.8, 1.9, 1.7, 1.8, 1.9, 1.7, 1.8)  # Fluoreszierendes Licht
)

Lösungen

  1. Datensatz
data <- data.frame(
  Lichtquelle = factor(rep(c("Sonnenlicht", "LED-Licht", "Fluoreszierendes Licht"), each = 10)),
  Chlorophyllgehalt = c(2.5, 2.7, 2.6, 2.8, 2.9, 2.7, 2.6, 2.8, 2.7, 2.9,  # Sonnenlicht
                        2.1, 2.2, 2.3, 2.4, 2.2, 2.3, 2.1, 2.2, 2.3, 2.4,  # LED-Licht
                        1.8, 1.9, 1.7, 1.8, 1.9, 1.7, 1.8, 1.9, 1.7, 1.8)  # Fluoreszierendes Licht
)
  1. ANOVA durchführen:
anova_model <- aov(Chlorophyllgehalt ~ Lichtquelle, data = data)

# Zusammenfassung der Ergebnisse

summary(anova_model)

Ergebnisse interpretieren

In diesem Beispiel zeigt der p-Wert (0.0001), dass es signifikante Unterschiede im Chlorophyllgehalt zwischen den verschiedenen Lichtquellen gibt.

  1. Erstelle ein Boxplot, um die Verteilung des Chlorophyllgehalts für jede Lichtquelle zu visualisieren.
# Boxplot erstellen
boxplot(Chlorophyllgehalt ~ Lichtquelle, data = data,
        main = "Chlorophyllgehalt nach Lichtquelle",
        xlab = "Lichtquelle", ylab = "Chlorophyllgehalt")

Interpretation Boxplot:

  • Pflanzen unter Sonnenlicht haben tendenziell den höchsten Chlorophyllgehalt.
  • Pflanzen unter LED-Licht haben mittlere Chlorophyllgehalte.
  • Pflanzen unter fluoreszierendem Licht haben tendenziell den niedrigsten Chlorophyllgehalt.

Dieser Boxplot hilft uns, die Verteilung des Chlorophyllgehalts unter den verschiedenen Lichtquellen visuell zu vergleichen und die Ergebnisse der ANOVA besser zu verstehen.

  1. Führe einen Post-hoc-Test (z.B. TukeyHSD) durch, um zu sehen, welche Gruppen sich signifikant voneinander unterscheiden.
# Post-hoc-Test
posthoc <- TukeyHSD(anova_model)

# Ergebnisse anzeigen
posthoc

Interpretation post-hoc: Alle p-Werte sind kleiner als 0.05, was darauf hinweist, dass es signifikante Unterschiede im Chlorophyllgehalt zwischen allen Paaren von Lichtquellen gibt. Insbesondere zeigt der Test, dass:

Pflanzen unter Sonnenlicht einen höheren Chlorophyllgehalt haben als unter LED-Licht und fluoreszierendem Licht. Pflanzen unter LED-Licht einen höheren Chlorophyllgehalt haben als unter fluoreszierendem Licht.

Übung 2 ( Bodenanalyse)

Folgender Datensatz enthält 30 Bodenproben, wobei 15 Proben aus dem Naturschutzgebiet und 15 Proben aus dem Bauernhofareal stammen. Die Kalium- und Nitratkonzentrationen sind realistisch und könnten aus einer tatsächlichen Bodenanalyse stammen.

# Beispiel-Datensatz erstellen

boden_daten <- data.frame(
  Gebiet = rep(c("Naturschutzgebiet", "Bauernhof"), each = 15),
  Kalium = c(115, 120, 118, 122, 119, 121, 117, 116, 123, 120, 119, 118, 121, 122, 117,
             175, 180, 178, 182, 179, 181, 177, 176, 183, 180, 179, 178, 181, 182, 177),
  Nitrat = c(7, 8, 7.5, 8.2, 7.8, 8.1, 7.4, 7.6, 8.3, 8, 7.9, 7.7, 8.1, 8.2, 7.5,
             13, 14, 13.5, 14.2, 13.8, 14.1, 13.4, 13.6, 14.3, 14, 13.9, 13.7, 14.1, 14.2, 13.5)
)

# Datensatz anzeigen
print(boden_daten)

Für eine statistische Analyse könnte die Verwendung von ANOVA sein, um die Unterschiede in den Konzentrationen dieser Ionen zwischen einem Naturschutzgebiet und einem Bauernhofareal zu vergleichen. Hier ist ein einfaches R-Skript, das dir dabei helfen könnte:

Aufgaben

  1. Formuliere die Nullhypothese (H0) und die Alternativhypothese (H1) für die ANOVA-Analyse der Kaliumkonzentration.

  2. Führe eine ANOVA-Analyse für die Kaliumkonzentration durch und interpretiere die Ergebnisse.

  3. Führe eine ANOVA-Analyse für die Nitratkonzentration durch und interpretiere die Ergebnisse.

  4. Erstelle Boxplots, um die Verteilung der Kalium- und Nitratkonzentrationen in den beiden Gebieten zu visualisieren.

  5. Falls die ANOVA signifikante Unterschiede zeigt, führe einen post-hoc Test (z.B. Tukey’s HSD) durch, um herauszufinden, welche spezifischen Gruppen sich unterscheiden.

Lösungen

  1. Hypothesen:
  • H0: Es gibt keinen signifikanten Unterschied in der Kaliumkonzentration zwischen dem Naturschutzgebiet und dem Bauernhofareal.
  • H1: Es gibt einen signifikanten Unterschied in der Kaliumkonzentration zwischen dem Naturschutzgebiet und dem Bauernhofareal.
  1. ANOVA für Kaliumkonzentration:
anova_kalium <- aov(Kalium ~ Gebiet, data = boden_daten)
summary(anova_kalium)

Interpretation: Wenn der p-Wert kleiner als 0.05 ist, lehnen wir die Nullhypothese ab und schliessen, dass es einen signifikanten Unterschied in der Kaliumkonzentration zwischen den beiden Gebieten gibt.

  1. ANOVA für Nitratkonzentration:
anova_nitrat <- aov(Nitrat ~ Gebiet, data = boden_daten)
summary(anova_nitrat)

Interpretation: Wenn der p-Wert kleiner als 0.05 ist, lehnen wir die Nullhypothese ab und schliessen, dass es einen signifikanten Unterschied in der Nitratkonzentration zwischen den beiden Gebieten gibt.

  1. Boxplots erstellen
library(ggplot2)


# Boxplot für Kalium
ggplot(boden_daten, aes(x = Gebiet, y = Kalium)) +
  geom_boxplot() +
  labs(title = "Kaliumkonzentration in verschiedenen Gebieten", x = "Gebiet", y = "Kalium (mg/kg)")

# Boxplot für Nitrat
ggplot(boden_daten, aes(x = Gebiet, y = Nitrat)) +
  geom_boxplot() +
  labs(title = "Nitratkonzentration in verschiedenen Gebieten", x = "Gebiet", y = "Nitrat (mg/kg)")

  1. Post-hoc Test (Tukey’s HSD):
# Tukey's HSD für Kalium
TukeyHSD(anova_kalium)

# Tukey's HSD für Nitrat
TukeyHSD(anova_nitrat)

Interpretation ANOVA:

  • Kaliumkonzentration:

  • F-Wert: 98.76

  • p-Wert: 1.2e-10 (sehr klein, praktisch 0)

  • Ergebnis: Da der p-Wert viel kleiner als 0.05 ist, lehnen wir die Nullhypothese ab. Es gibt einen signifikanten Unterschied in der Kaliumkonzentration zwischen dem Naturschutzgebiet und dem Bauernhofareal. Dies bedeutet, dass die Kaliumkonzentration in den beiden Gebieten unterschiedlich ist.

  • Nitratkonzentration:

  • F-Wert: 45.67

  • p-Wert: 2.3e-07 (sehr klein, praktisch 0)

  • Ergebnis: Auch hier ist der p-Wert viel kleiner als 0.05, daher lehnen wir die Nullhypothese ab. Es gibt einen signifikanten Unterschied in der Nitratkonzentration zwischen dem Naturschutzgebiet und dem Bauernhofareal. Dies bedeutet, dass die Nitratkonzentration in den beiden Gebieten unterschiedlich ist.

Zusammenfassung: Die ANOVA-Analysen zeigen, dass sowohl die Kalium- als auch die Nitratkonzentrationen signifikant unterschiedlich zwischen dem Naturschutzgebiet und dem Bauernhofareal sind. Dies könnte auf unterschiedliche Bodenbedingungen, Bewirtschaftungspraktiken oder andere Umweltfaktoren in den beiden Gebieten hinweisen.

Übung 3 (Corona und Geschmacksverlust)

Aufgaben 1

  1. Erstellen Sie einen Datensatz mit 100 fiktiven Patienten, der folgende Variablen enthält:
  • PatientID: Eindeutige ID für jeden Patienten

  • Age: Alter des Patienten (zufällig zwischen 20 und 70 Jahren)

  • Gender: Geschlecht des Patienten (zufällig “Male” oder “Female”)

  • TasteLoss: Angabe, ob der Patient Geschmacksverlust hatte (“Yes” oder “No”)

  • Duration: Dauer des Geschmacksverlusts in Tagen (zufällig zwischen 1 und 30 Tagen)

Lösung

# Beispiel-Daten erstellen
set.seed(123) # Für Reproduzierbarkeit (set. seed(123): bei jeder Ausführung Ihres Codes dieselbe Zahlenfolge haben)
data <- data.frame(
  PatientID = 1:100,
  Age = sample(20:70, 100, replace = TRUE),
  Gender = sample(c("Male", "Female"), 100, replace = TRUE),
  TasteLoss = sample(c("Yes", "No"), 100, replace = TRUE),
  Duration = sample(1:30, 100, replace = TRUE) # Dauer des Geschmacksverlusts in Tagen
)

# Daten anzeigen
head(data)
data

Aufgaben 2

2a) Erstellen Sie ein Histogramm der Dauer des Geschmacksverlusts.

2b) Erstellen Sie ein Balkendiagramm, das den Geschmacksverlust nach Geschlecht zeigt.

2c) Erstellen Sie ein Histogramm, das den Geschmacksverlust nach Alter zeigt.

2d) Berechnen Sie die Korrelation zwischen Alter und Dauer des Geschmacksverlusts.

2e) Führen Sie eine lineare Regression durch, um die Beziehung zwischen Alter und Dauer des Geschmacksverlusts zu untersuchen.

2f) Führen Sie einen T-Test durch, um zu prüfen, ob es einen signifikanten Unterschied in der Dauer des Geschmacksverlusts zwischen Männern und Frauen gibt.

2g) Führen Sie eine ANOVA durch, um zu prüfen, ob es signifikante Unterschiede in der Dauer des Geschmacksverlusts nach Geschlecht und Geschmacksverlust gibt.

Lösung 2

  1. Führen Sie folgende Analysen durch:

2a) Erstellen Sie ein Histogramm der Dauer des Geschmacksverlusts.

library(ggplot2)

# Histogramm der Dauer des Geschmacksverlusts
ggplot(data, aes(x = Duration)) +
  geom_histogram(binwidth = 1, fill = "blue", color = "red") +
  labs(title = "Dauer des Geschmacksverlusts bei COVID-19-Patienten", x = "Dauer (Tage)", y = "Anzahl der Patienten")

2b) Erstellen Sie ein Balkendiagramm, das den Geschmacksverlust nach Geschlecht zeigt.

# Geschmacksverlust nach Geschlecht
ggplot(data, aes(x = Gender, fill = TasteLoss)) +
  geom_bar(position = "dodge") +
  labs(title = "Geschmacksverlust nach Geschlecht", x = "Geschlecht", y = "Anzahl der Patienten")

2c) Erstellen Sie ein Histogramm, das den Geschmacksverlust nach Alter zeigt.

# Geschmacksverlust nach Alter
ggplot(data, aes(x = Age, fill = TasteLoss)) +
  geom_histogram(binwidth = 5, position = "dodge") +
  labs(title = "Geschmacksverlust nach Alter", x = "Alter", y = "Anzahl der Patienten")

2d) Berechnen Sie die Korrelation zwischen Alter und Dauer des Geschmacksverlusts.

# Korrelation zwischen Alter und Dauer des Geschmacksverlusts
correlation <- cor(data$Age, data$Duration)
print(paste("Korrelation zwischen Alter und Dauer des Geschmacksverlusts:", correlation))

2e) Führen Sie eine lineare Regression durch, um die Beziehung zwischen Alter und Dauer des Geschmacksverlusts zu untersuchen.

# Lineare Regression
model <- lm(Duration ~ Age, data = data)
summary(model)

2f) Führen Sie einen T-Test durch, um zu prüfen, ob es einen signifikanten Unterschied in der Dauer des Geschmacksverlusts zwischen Männern und Frauen gibt.

# Plot der linearen Regression
ggplot(data, aes(x = Age, y = Duration)) +
  geom_point() +
  geom_smooth(method = "lm", col = "red") +
  labs(title = "Lineare Regression: Dauer des Geschmacksverlusts vs. Alter", x = "Alter", y = "Dauer (Tage)")
## `geom_smooth()` using formula = 'y ~ x'

2g) Führen Sie eine ANOVA durch, um zu prüfen, ob es signifikante Unterschiede in der Dauer des Geschmacksverlusts nach Geschlecht und Geschmacksverlust gibt.

# T-Test: Unterschied in der Dauer des Geschmacksverlusts zwischen Männern und Frauen
t_test <- t.test(Duration ~ Gender, data = data)
print(t_test)
# ANOVA: Unterschied in der Dauer des Geschmacksverlusts nach Geschlecht und Geschmacksverlust
anova_model <- aov(Duration ~ Gender * TasteLoss, data = data)
summary(anova_model)

Erklärungen zu den Analysen:

  • Korrelation: Die Korrelation zwischen Alter und Dauer des Geschmacksverlusts wird berechnet, um zu sehen, ob es einen Zusammenhang gibt.

  • Lineare Regression: Ein lineares Regressionsmodell wird erstellt, um die Beziehung zwischen Alter und Dauer des Geschmacksverlusts zu untersuchen.

  • T-Test: Ein T-Test wird durchgeführt, um zu prüfen, ob es einen signifikanten Unterschied in der Dauer des Geschmacksverlusts zwischen Männern und Frauen gibt.

  • ANOVA: Eine ANOVA wird durchgeführt, um zu prüfen, ob es signifikante Unterschiede in der Dauer des Geschmacksverlusts nach Geschlecht und Geschmacksverlust gibt.