Håndtering af Manglende Data
Manglende data er et almindeligt problem i virkelige datasæt. Det kan påvirke analysens nøjagtighed 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 overblik over, 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 ved hjælp af 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 muligvis ikke ideel, hvis mange rækker fjernes i processen.
Erstatning af manglende værdier
I stedet for at fjerne rækker er en mere effektiv tilgang 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 metode til at udfylde manglende værdier.
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
Awesome!
Completion rate improved to 4
Håndtering af Manglende Data
Stryg for at vise menuen
Manglende data er et almindeligt problem i virkelige datasæt. Det kan påvirke analysens nøjagtighed 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 overblik over, 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 ved hjælp af 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 muligvis ikke ideel, hvis mange rækker fjernes i processen.
Erstatning af manglende værdier
I stedet for at fjerne rækker er en mere effektiv tilgang 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 metode til at udfylde manglende værdier.
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!