8  Fehlende Daten

Fehlende Daten werden in R mit dem Ausdruck NA (für “not available”) dargestellt. Angenommen Sie erfragen von zehn Personen das Alter, und zwei Personen geben keine Auskunft, dann könnten man das wie folgt in einem Vektor darstellen.

# Alter von 10 Personen 
alter <- c(28, 30, NA, 21, 27, 43, NA, 35, 22, 18) 
# anzeigen 
alter
##  [1] 28 30 NA 21 27 43 NA 35 22 18

Möchten wir nun die Summe der Alterswerte bestimmen, meldet R uns NA zurück

# Summe der Altersangaben 
sum(alter)
## [1] NA

Die Berechnung wird nicht durchgeführt, da fehlende Werte in der Reihe vorkommen. Möchte man die Berechnung erzwingen, kann (bei fast jeder -Funktion) der Parameter na.rm (für NA remove; entferne NA) auf TRUE gesetzt werden. So werden alle fehlenden Daten ignoriert und die Berechnungen nur mit der Restmenge durchgeführt.

# Summe der Altersangaben OHNE NA 
sum(alter, na.rm=TRUE)
## [1] 224

Mit der Funktion is.na() kann geprüft werden, ob fehlende Werte enthalten sind

# sind Werte in "alter" NA? 
is.na(alter)
##  [1] FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE

Möchten wir wissen, an welcher Position sich die NA-Einträge befinden können wir die Funktion which() mit is.na() kombinieren

# welche Position haben die NAs in "alter" 
which(is.na(alter))
## [1] 3 7

Sind keine NAs enthalten, meldet R ein integer(0) zurück

# keine NAs in "Pflegeframe" 
which(is.na(Pflegeframe))
## integer(0)