Umgang mit Fehlenden Daten
Swipe um das Menü anzuzeigen
Fehlende Daten sind ein häufiges Problem in realen Datensätzen. Sie können die Genauigkeit der Analyse beeinträchtigen und zu irreführenden Ergebnissen führen, wenn sie nicht angemessen behandelt werden.
Erkennung fehlender Werte
Der erste Schritt besteht darin, zu überprüfen, wo und wie viele Daten in Ihrem Datensatz fehlen.
is.na(df) # returns a logical matrix of TRUE/FALSE
sum(is.na(df)) # total number of missing values
colSums(is.na(df)) # missing values per column
Dies gibt einen klaren Überblick darüber, welche Spalten fehlende Daten enthalten und wie schwerwiegend das Problem ist.
Entfernen fehlender Werte
Manchmal ist der einfachste Weg, mit fehlenden Daten umzugehen, das Entfernen von Zeilen, die beliebige NA-Werte enthalten. Dies stellt sicher, dass der Datensatz sauber ist, kann jedoch zu erheblichem Datenverlust führen, wenn viele Zeilen betroffen sind.
Base R
Die Funktion na.omit() entfernt alle Zeilen mit fehlenden Werten aus dem Datensatz.
df_clean <- na.omit(df)
sum(is.na(df_clean))
dplyr
Die gleiche Aufgabe kann mit der Funktion drop_na() durchgeführt werden.
df_clean <- df %>%
drop_na()
Dieser Ansatz ist einfach und eignet sich gut, wenn nur wenige fehlende Werte vorhanden sind. Bei vielen entfernten Zeilen ist er jedoch möglicherweise nicht ideal.
Ersetzen fehlender Werte
Anstatt Zeilen zu entfernen, ist Imputation – das Ersetzen fehlender Werte durch sinnvolle Schätzwerte – oft effektiver. Dadurch bleibt die Datensatzgröße erhalten und Verzerrungen werden reduziert. Eine gängige Strategie für numerische Variablen ist das Ersetzen fehlender Werte durch den Spaltenmittelwert.
Base R
Mit logischem Indexieren und is.na() können fehlende Werte gefunden und durch den Mittelwert der Spalte ersetzt werden.
df$selling_price[is.na(df$selling_price)] <- mean(df$selling_price, na.rm = TRUE)
dplyr
Die Imputation kann auch mit ifelse() innerhalb von mutate() durchgeführt werden.
df <- df %>%
mutate(selling_price = ifelse(is.na(selling_price),
mean(selling_price, na.rm = TRUE),
selling_price))
Fehlende Werte in kategorialen Spalten auffüllen
Bei kategorialen Variablen (Zeichenketten- oder Faktor-Spalten) werden fehlende Werte häufig durch einen festen Platzhalter wie "Unknown" ersetzt.
Base R
df$fuel[is.na(df$fuel)] <- "Unknown"
dplyr
Die Funktion replace_na() bietet eine übersichtlichere Möglichkeit, fehlende Werte zu ersetzen.
df <- df %>%
mutate(fuel = replace_na(fuel, "Unknown"))
Mit diesem Ansatz werden fehlende Werte konsistent behandelt und die Spalte bleibt für Berichte oder Modellierungen gültig.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen