27  Testen in R

Letzte Änderung am 06. May 2024 um 18:56:11

“Alles andere wäre auch Wahnsinn.” — Bjarne Mädel, Der Tatortreiniger


Dieses Kapitel wird ist eine Baustelle und wird es vermutlich auch über das Jahr 2024 bleiben. Aktuell weiß ich nämlich noch nicht, wo ich mit dem Kapitel hin will und wo es stehen sollte. Daher können Teile des Codes und des Textes kurzfristig keinen Sinn ergeben oder nicht funktional sein. Es ist geplant eine fertige Version noch 2024 vorliegen zu haben.


Dieses Startkapitel zu den statistischen Gruppenvergleichen gibt dir nochmal eine Übersicht über das statistische Test in R.

R Paket {infer}

calculate()

27.1 Genutzte R Pakete

Wir wollen folgende R Pakete in diesem Kapitel nutzen.

pacman::p_load(tidyverse, infer)

An der Seite des Kapitels findest du den Link Quellcode anzeigen, über den du Zugang zum gesamten R-Code dieses Kapitels erhältst.

27.2 Daten

flea_tbl <- read_excel("data/flea_dog_cat.xlsx") |> 
  mutate(animal = as_factor(animal)) 
Tabelle 27.1— Tabelle der Sprunglängen [cm], Anzahl an Flöhen, Boniturnote sowie der Infektionsstatus von Hunden und Katzen.
animal jump_length flea_count weight grade infected
dog 5.7 18 2.1 8 0
dog 8.9 22 2.3 8 1
dog 11.8 17 2.8 6 1
dog 5.6 12 2.4 8 0
dog 9.1 23 1.2 7 1
dog 8.2 18 4.1 7 0
dog 7.6 21 3.2 9 0
cat 3.2 12 1.1 7 1
cat 2.2 13 2.1 5 0
cat 5.4 11 2.4 7 0
cat 4.1 12 2.1 6 0
cat 4.3 16 1.5 6 1
cat 7.9 9 3.7 6 0
cat 6.1 7 2.9 5 0

27.3 R Paket {infer}

Full infer Pipeline Examples

observed_statistic <- flea_tbl |> 
  specify(jump_length ~ animal) |> 
  calculate(stat = "diff in means", order = c("dog", "cat"))

observed_statistic
Response: jump_length (numeric)
Explanatory: animal (factor)
# A tibble: 1 × 1
   stat
  <dbl>
1  3.39
null_dist_2_sample <- flea_tbl |> 
  specify(jump_length ~ animal) |> 
  hypothesize(null = "independence") |> 
  generate(reps = 1000, type = "permute") |> 
  calculate(stat = "diff in means", order = c("dog", "cat"))
null_dist_2_sample %>%
  visualize() + 
  shade_p_value(observed_statistic,
                direction = "two-sided")

p_value_2_sample <- null_dist_2_sample %>%
  get_p_value(obs_stat = observed_statistic,
              direction = "two-sided")

p_value_2_sample
# A tibble: 1 × 1
  p_value
    <dbl>
1   0.008
observed_t_statistic <- flea_tbl |> 
  specify(jump_length ~ animal) |> 
  calculate(stat = "t", order = c("dog", "cat"))
null_dist_theory <- flea_tbl |> 
  specify(jump_length ~ animal) |> 
  assume(distribution = "t")

visualize(null_dist_theory) +
  shade_p_value(observed_t_statistic,
                direction = "greater") +
  theme_minimal()

null_dist <- flea_tbl |> 
  specify(jump_length ~ animal) |> 
  hypothesize(null = "independence") |> 
  generate(reps = 1000, type = "permute") |> 
  calculate(stat = "t", order = c("dog", "cat"))
null_dist %>%
  visualize(method = "both") + 
  shade_p_value(observed_t_statistic,
                direction = "greater")
Warning: Check to make sure the conditions have been met for the theoretical method.
infer currently does not check these for you.

XX Test in {infer}

Auch hier können wir den XX Test in dem R Paket {infer} realisieren. Ein Vorteil von {infer} ist, dass wir die Funktionen sehr gut mit dem |>-Operator nutzen können. Deshalb hier einmal die bessere Implementierung.

Eine detailliertere Einführung mit mehr Beispielen für die Nutzung vom R Paket {infer} findest du im Kapitel Testen in R. Hier soll es dann bei der kurzen Gegenüberstellung bleiben.

27.4 R Paket {report}

R Paket {report}

27.5 Genutzte R Pakete

Wir wollen folgende R Pakete in diesem Kapitel nutzen.

pacman::p_load(tidyverse, emmeans, multcomp, conflicted)
conflicts_prefer(dplyr::select)

An der Seite des Kapitels findest du den Link Quellcode anzeigen, über den du Zugang zum gesamten R-Code dieses Kapitels erhältst.

27.6 Daten

Wir