ausreisser1

eda
datawrangling
tidyverse
ausreisser
string
Published

November 8, 2023

Aufgabe

Entfernen Sie alle Ausreißer im Datensatz mariokart!

Hinweise:











Lösung

Setup

Überblick

Wir verschaffen uns einen Überblick über die Verteilungen:

plot_histogram(mariokart)  # aus Paket `DataExplorer`

Wie man sieht gibt es einige Ausreißer, z.B. bei ship_pr und total_pr.

Daten aufbereiten mit z-Transformation

mariokart2 <-
  mariokart %>% 
  select(-id) %>% 
  mutate(across(  # "across" wiederholt die Funktionen ".fns" über alle Spalten ".cols"
    .cols = where(is.numeric),
    .fns = ~ as.numeric(standardize(.x))))

Leider gibt standardize kein vernünftiges numerisches Objekt zurück, so dass wir mit as.numeric die Daten noch zur Räson rufen müssen.

Wie man sieht, ändert sich die Verteilungsform nicht durch die z-Transformation (oder durch irgendeine lineare Transformation):

plot_histogram(mariokart2)

Extremwerte durch MW ersetzen

mariokart3 <-
  mariokart2 %>% 
  mutate(across(
    .cols = where(is.numeric),
    .fns = ~ case_when(abs(.x) <= 3 ~ .x,
                       abs(.x) > 3 ~ mean(.x))
  ))
plot_histogram(mariokart3)

Jetzt sind die Daten deutlich weniger extrem.


Categories:

  • eda
  • datawrangling
  • tidyverse
  • ausreisser
  • string