Umgang mit Fehlenden Daten
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 es am einfachsten, fehlende Daten zu behandeln, indem Zeilen entfernt werden, die einen beliebigen NA
-Wert 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. Ist der Anteil fehlender Daten jedoch hoch, kann das Entfernen vieler Zeilen problematisch sein.
Ersetzen fehlender Werte
Anstatt Zeilen zu entfernen, ist Imputation eine effektivere Methode, bei der fehlende Werte durch sinnvolle Schätzwerte ersetzt werden. 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 Mittelwert der Spalte.
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"))
Dieser Ansatz stellt sicher, dass fehlende Werte konsistent behandelt werden und die Spalte für Berichte oder Modellierung gültig bleibt.
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
Can you explain the difference between removing and imputing missing values?
How do I decide whether to drop or fill missing data in my dataset?
Can you show more examples of handling missing values in R?
Awesome!
Completion rate improved to 4
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 es am einfachsten, fehlende Daten zu behandeln, indem Zeilen entfernt werden, die einen beliebigen NA
-Wert 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. Ist der Anteil fehlender Daten jedoch hoch, kann das Entfernen vieler Zeilen problematisch sein.
Ersetzen fehlender Werte
Anstatt Zeilen zu entfernen, ist Imputation eine effektivere Methode, bei der fehlende Werte durch sinnvolle Schätzwerte ersetzt werden. 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 Mittelwert der Spalte.
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"))
Dieser Ansatz stellt sicher, dass fehlende Werte konsistent behandelt werden und die Spalte für Berichte oder Modellierung gültig bleibt.
Danke für Ihr Feedback!