Håndtering af Manglende Data
Stryg for at vise menuen
Manglende data er et almindeligt problem i virkelige datasæt. Det kan påvirke analysepræcisionen og føre til vildledende resultater, hvis det ikke håndteres korrekt.
Registrering af manglende værdier
Det første skridt er at undersøge, hvor og hvor meget data der mangler i datasættet.
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
Dette giver et klart billede af, hvilke kolonner der har manglende data, og hvor alvorligt problemet er.
Fjernelse af manglende værdier
Nogle gange er den enkleste måde at håndtere manglende data på at fjerne rækker, der indeholder nogen NA-værdier. Dette sikrer, at datasættet er rent, men det kan også resultere i betydeligt datatab, hvis mange rækker er berørt.
Base R
Funktionen na.omit() fjerner alle rækker med manglende værdier fra datasættet.
df_clean <- na.omit(df)
sum(is.na(df_clean))
dplyr
Den samme opgave kan udføres med funktionen drop_na().
df_clean <- df %>%
drop_na()
Denne metode er enkel og fungerer godt, når mængden af manglende data er lille, men er måske ikke ideel, hvis mange rækker fjernes i processen.
Erstatning af manglende værdier
I stedet for at fjerne rækker kan en mere effektiv tilgang være imputation, hvor manglende værdier erstattes med meningsfulde estimater. Dette hjælper med at bevare datasættets størrelse og reducere bias. En almindelig strategi for numeriske variabler er at erstatte manglende værdier med kolonnens gennemsnit.
Base R
Du kan bruge logisk indeksering med is.na() til at finde manglende værdier og tildele dem gennemsnittet af kolonnen.
df$selling_price[is.na(df$selling_price)] <- mean(df$selling_price, na.rm = TRUE)
dplyr
Du kan også håndtere imputering ved at bruge ifelse() inden i mutate().
df <- df %>%
mutate(selling_price = ifelse(is.na(selling_price),
mean(selling_price, na.rm = TRUE),
selling_price))
Udfyldning af manglende værdier i kategoriske kolonner
For kategoriske variabler (tegn- eller faktorkolonner) erstattes manglende værdier ofte med en fast pladsholder såsom "Unknown".
Base R
df$fuel[is.na(df$fuel)] <- "Unknown"
dplyr
Funktionen replace_na() giver en mere overskuelig måde at udfylde manglende værdier på.
df <- df %>%
mutate(fuel = replace_na(fuel, "Unknown"))
Denne metode sikrer, at manglende værdier håndteres ensartet, og at kolonnen forbliver gyldig til rapportering eller modellering.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat