5.1 Fehlende Werte

Elektroden und Gerätschaften im Gelände sind wie Menschen - sie wollen gut gepflegt werden aber auch bei bester Pflege machen sie nicht immer das was sie tun sollen. Starten wir also damit zu erkunden, wieviele Fehlwerte wir in unserem Speicherkoog Datensatz haben. Der erste Weg wäre zu erkunden, ob überhaupt NAs in unserem Datensatz auftreten:

# Tritt ein NA in unserem Vektor auf
any_na(koog_day$st10)
## [1] TRUE

Es befinden sich also Fehlwerte in st10.

# Mit are_na bekommen wir einen Vektor mit TRUE und FALSE über NA Werte angezeigt
are_na(koog_day$st10) %>%
  head(n = 10)
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

Wir können uns auch eine Prozentzahl angeben lassen, indem wir die Anzahl der NA Werte in unserem Vektor durch die Länge des Vektors teilen:

n_miss(koog_day$st10) / nrow(koog_day) * 100
## [1] 2.208122

Es fehlen also 2.2% Der Daten. Das ist erstmal nicht viel. Mithilfe des vis_dat packages kann man schnell und leicht überprüfen wie die zeitliche Verteilung der Werte ist. Es spielt schließlich schon eine Rolle, ob ich jeden Tag einen systematischen Fehlwert habe oder die Fehlwerte en block während einer bestimmten Periode auftreten.

koog_day %>%
  select(st10) %>%
  visdat::vis_miss()

Wir sehen also, dass 2,2% des Datensatzes keine Werte enthalten und für nur kurze Perioden auftreten. Für die elektrische Leitfähigkeit ec ist dies leider nicht der Fall. Speziell zu Beginn der Untersuchung gab es immer wieder Ausfälle. Diese Werte sind also im Allgemeinen mit Vorsicht zu bewerten.

koog_day %>%
  select(ec) %>%
  visdat::vis_miss()

Tabellarisch kann man sich die Daten natürlich auch angeben lassen:

koog_day %>%
  select(!contains("oxy")) %>%
  miss_var_summary(order = T) %>%
  head(n = 5)
## # A tibble: 5 x 3
##   variable n_miss pct_miss
##   <chr>     <int>    <dbl>
## 1 ec          835    21.2 
## 2 wt_2        321     8.15
## 3 bat         149     3.78
## 4 lt          149     3.78
## 5 sr          139     3.53