Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Håndtering af Manglende Data | Datamanipulation og -Rensning
Dataanalyse med R

bookHå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.

question mark

Hvordan erstattes NA i fuel-kolonnen med "Unknown"?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 10

Spørg AI

expand

Spørg AI

ChatGPT

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

bookHå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.

question mark

Hvordan erstattes NA i fuel-kolonnen med "Unknown"?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 10
some-alt