In R werden fehlende Werte durch das Symbol NA (nicht verfügbar) dargestellt. Unmögliche Werte (z. B. die Division durch Null) werden durch das Symbol NaN (not a number) dargestellt. Anders als SAS verwendet R dasselbe Symbol für Zeichen- und numerische Daten.
is.na(x) # returns TRUE of x is missing
y <- c(1,2,3,NA)
is.na(y) # returns a vector (F F F T)
Umkodierung von Werten auf fehlend
# recode 99 to missing for variable v1
# select rows where v1 is 99 and recode column v1
mydata$v1[mydata$v1==99] <- NA
Fehlende Werte aus den Analysen ausschließen
Arithmetische Funktionen für fehlende Werte ergeben fehlende Werte.
x <- c(1,2,NA,3)
mean(x) # returns NA
mean(x, na.rm=TRUE) # returns 2
Die Funktion complete.cases() gibt einen logischen Vektor zurück, der angibt, welche Fälle abgeschlossen sind.
# list rows of data that have missing values
mydata[!complete.cases(mydata),]
Die Funktion na.omit() gibt das Objekt mit listenweiser Löschung fehlender Werte zurück.
# create new dataset without missing data
newdata <- na.omit(mydata)
Fortgeschrittener Umgang mit fehlenden Daten
Die meisten Modellierungsfunktionen in R bieten Optionen für den Umgang mit fehlenden Werten. Mit Methoden wie der multiplen Imputation kannst du über die paarweise oder listenweise Löschung fehlender Werte hinausgehen. Gute Implementierungen, auf die du über R zugreifen kannst, sind Amelia II, Mice und mitools.
R Grundlagen lernen
Beherrsche die Grundlagen der Datenanalyse in R, einschließlich Vektoren, Listen und Datenrahmen, und übe R mit echten Datensätzen.