library(dplyr)
library(broom) # tidy()
library(multcomp)
library(kableExtra) # Tabellen

Aufgabe 3

Es seien \(Y_{ij},\ i = 1, \ldots, 4\) und \(j = 1, \ldots, 5\), stochastisch unabhängige normalverteilte Zufallsvariablen mit Erwartungswert \(\theta_i\) und Varianz \(\sigma^2 > 0\). \(Y_{ij}\) beschreibt das Gewicht des \(j\)-ten Kohlkopfs pro Düngemittel \(i\).

dünger <- tribble(
  ~Dünger1, ~Dünger2, ~Dünger3, ~Dünger4,
  728,      974,      548,      450,
  955,      748,      682,      405,
  823,      937,      763,      529,
  1161,     904,      617,      759,
  972,      869,      632,      397
)

# Wide -> long format
dünger <- dünger %>%
  tidyr::gather(Dünger, Gewicht) %>%
  mutate(Dünger = factor(Dünger))

# ANOVA-Modell für später
dünger_mod <- aov(Gewicht ~ Dünger, data = dünger)

a)

Testen Sie auf paarweise Gleichheiten der Mittelwerte anhand des Bonferroni t-Tests zum multiplen Niveau \(\alpha = 0.01\).

results_bonf <- pairwise.t.test(dünger$Gewicht, dünger$Dünger, p.adjust.method = "bonf") %>%
  tidy() %>%
  transmute(
    Vergleich = glue::glue("{group1} - {group2}"),
    p.bonferroni = cell_spec(round(p.value, 6), bold = p.value < 0.01)
  ) 

results_bonf %>%
  kable(booktabs = TRUE, escape = FALSE, linesep = "") %>%
  kable_styling(position = "center") %>%
  add_footnote("Fett gedruckt: p < α = 0.01")
Vergleich p.bonferroni
Dünger2 - Dünger1 1
Dünger3 - Dünger1 0.017374
Dünger4 - Dünger1 0.000453
Dünger3 - Dünger2 0.05187
Dünger4 - Dünger2 0.001291
Dünger4 - Dünger3 0.580584
a Fett gedruckt: p < α = 0.01

Wir erhalten signifikante Unterschiede zwischen Dünger 1 und 4 sowie zwischen Dünger 2 und 4.

b)

Führen Sie die gleichen Tests mithilfe der kritischen Grenze nach Tukey-Kramer durch und vergleichen Sie die Ergebnisse mit denen aus (a).

results_tukey <- TukeyHSD(dünger_mod) %>%
  tidy() %>%
  transmute(
    Vergleich = sub("-", " - ", comparison),
    Differenz = estimate,
    p.tukey = cell_spec(round(adj.p.value, 6), bold = adj.p.value < 0.01)
  ) 

results_tukey %>%
  kable(booktabs = TRUE, escape = FALSE, linesep = "") %>%
  kable_styling(position = "center") %>%
  add_footnote("Fett gedruckt: p < α = 0.01")
Vergleich Differenz p.tukey
Dünger2 - Dünger1 -41.4 0.952992
Dünger3 - Dünger1 -279.4 0.013833
Dünger4 - Dünger1 -419.8 0.000397
Dünger3 - Dünger2 -238.0 0.038915
Dünger4 - Dünger2 -378.4 0.001111
Dünger4 - Dünger3 -140.4 0.325284
a Fett gedruckt: p < α = 0.01

Unsere Testentscheidungen verändern sich nicht, allerdings erhalten wir durchweg etwas kleinere p-Werte.

c)

Verwenden Sie nun den Test nach Scheffé und vergleichen Sie die Ergebnisse mit den vorigen aus (a) und (b).

results_scheffe <- DescTools::ScheffeTest(dünger_mod)$Dünger %>%
  as_tibble(rownames = "Vergleich") %>%
  transmute(
    Vergleich = sub("-", " - ", Vergleich),
    Differenz = diff,
    p.scheffe = cell_spec(round(pval, 6), bold = pval < 0.01)
  )

results_scheffe %>%
  mutate(
    p.tukey = results_tukey$p.tukey,
    p.bonf = results_bonf$p.bonferroni
  ) %>%
  kable(booktabs = TRUE, escape = FALSE, linesep = "") %>%
  kable_styling(position = "center") %>%
  add_footnote("Fett gedruckt: p < α = 0.01")
Vergleich Differenz p.scheffe p.tukey p.bonf
Dünger2 - Dünger1 -41.4 0.964377 0.952992 1
Dünger3 - Dünger1 -279.4 0.02437 0.013833 0.017374
Dünger4 - Dünger1 -419.8 0.000865 0.000397 0.000453
Dünger3 - Dünger2 -238.0 0.062555 0.038915 0.05187
Dünger4 - Dünger2 -378.4 0.002306 0.001111 0.001291
Dünger4 - Dünger3 -140.4 0.402615 0.325284 0.580584
a Fett gedruckt: p < α = 0.01

Auch hier ändert sich nichts an unseren Testentscheidungen. Wir sehen zudem, dass die p-Werte des Scheffé-Tests in diesem Fall größer sind als die des Tukey-Kramer Tests. Verglichen mit dem Bonferroni-Test sind die Scheffé-p-Werte z.B. für Dünger 4 gegen Dünger 3 kleiner, aber bei Dünger 3 gegen Dünger 2 größer.

d)

Nehmen Sie an, dass Düngemittel Nummer 1 ein Standardprodukt ist, während Düngemittel Nummer 2, 3 und 4 neu entwickelte Produkte darstellen. Testen Sie anhand der Methode nach Dunnett, ob sich zwischen dem Standarddünger und jedem einzelnen der neu entwickelten Düngemittel ein Unterschied feststellen lässt.

mult_dunett <- glht(dünger_mod, mcp(Dünger = "Dunnett")) 
summary(mult_dunett) %>%
  tidy() %>%
  transmute(
    Vergleich = lhs,
    Differenz = estimate,
    t = round(statistic, 2),
    p.dunett = cell_spec(round(p.value, 6), bold = p.value < 0.01)
  ) %>%
  kable(booktabs = TRUE, escape = FALSE, linesep = "") %>%
  kable_styling(position = "center") %>%
  add_footnote("Fett gedruckt: p < α = 0.01")
Vergleich Differenz t p.dunett
Dünger2 - Dünger1 -41.4 -0.52 0.915543
Dünger3 - Dünger1 -279.4 -3.51 0.007654
Dünger4 - Dünger1 -419.8 -5.28 0.000168
a Fett gedruckt: p < α = 0.01

Wir sehen nun einen signifikanten Unterschied zwischen Dünger 3 und 1 bzw. zwischen Dünger 4 und 1.

e)

Vergleichen Sie Ihre Ergebnisse aus (d) mit den Resultaten, die Sie mit der Tukey-Kramer- und der Scheffé-Methode in (b) und (c) für die entsprechenden Hypothesen erhalten haben.

Der Dunnett-Test konnte einen Unterschied zwischen Dünger 3 und Dünger 1 aufdecken, den keine der anderen Testprozeduren aufdecken konnte.