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

bookHåndtering av Manglende Data

Manglende data er et vanlig problem i virkelige datasett. Det kan påvirke nøyaktigheten av analysen og føre til misvisende resultater dersom det ikke håndteres riktig.

Oppdage manglende verdier

Første steg er å undersøke hvor og hvor mye data som mangler i datasettet ditt.

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 gir en tydelig oversikt over hvilke kolonner som har manglende data og hvor alvorlig problemet er.

Fjerne manglende verdier

Noen ganger er den enkleste måten å håndtere manglende data på å fjerne rader som inneholder noen NA-verdier. Dette sikrer at datasettet er rent, men kan også føre til betydelig datatap dersom mange rader blir berørt.

Base R

Funksjonen na.omit() fjerner alle rader med manglende verdier fra datasettet.

df_clean <- na.omit(df)
sum(is.na(df_clean))

dplyr

Den samme oppgaven kan utføres ved å bruke funksjonen drop_na().

df_clean <- df %>%
  drop_na()

Denne metoden er enkel og fungerer godt når mengden manglende data er liten, men kan være mindre egnet dersom mange rader fjernes i prosessen.

Erstatte manglende verdier

I stedet for å fjerne rader, er en mer effektiv tilnærming imputering, hvor manglende verdier erstattes med meningsfulle estimater. Dette bidrar til å bevare datasettets størrelse og redusere skjevhet. En vanlig strategi for numeriske variabler er å erstatte manglende verdier med kolonnens gjennomsnitt.

Base R

Du kan bruke logisk indeksering med is.na() for å finne manglende verdier og tilordne dem gjennomsnittet av kolonnen.

df$selling_price[is.na(df$selling_price)] <- mean(df$selling_price, na.rm = TRUE)

dplyr

Du kan også håndtere imputering ved å bruke ifelse() inne i mutate().

df <- df %>%
  mutate(selling_price = ifelse(is.na(selling_price),
                                mean(selling_price, na.rm = TRUE),
                                selling_price))

Utfylling av manglende verdier i kategoriske kolonner

For kategoriske variabler (tegn- eller faktorkolonner) erstattes ofte manglende verdier med en fast plassholder som "Unknown".

Base R

df$fuel[is.na(df$fuel)] <- "Unknown"

dplyr

Funksjonen replace_na() gir en mer oversiktlig måte å fylle inn manglende verdier på.

df <- df %>%
  mutate(fuel = replace_na(fuel, "Unknown"))

Denne metoden sikrer at manglende verdier håndteres konsekvent, og at kolonnen forblir gyldig for rapportering eller modellering.

question mark

Hvordan erstatter du NA i fuel-kolonnen med "Unknown"?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 10

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

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

bookHåndtering av Manglende Data

Sveip for å vise menyen

Manglende data er et vanlig problem i virkelige datasett. Det kan påvirke nøyaktigheten av analysen og føre til misvisende resultater dersom det ikke håndteres riktig.

Oppdage manglende verdier

Første steg er å undersøke hvor og hvor mye data som mangler i datasettet ditt.

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 gir en tydelig oversikt over hvilke kolonner som har manglende data og hvor alvorlig problemet er.

Fjerne manglende verdier

Noen ganger er den enkleste måten å håndtere manglende data på å fjerne rader som inneholder noen NA-verdier. Dette sikrer at datasettet er rent, men kan også føre til betydelig datatap dersom mange rader blir berørt.

Base R

Funksjonen na.omit() fjerner alle rader med manglende verdier fra datasettet.

df_clean <- na.omit(df)
sum(is.na(df_clean))

dplyr

Den samme oppgaven kan utføres ved å bruke funksjonen drop_na().

df_clean <- df %>%
  drop_na()

Denne metoden er enkel og fungerer godt når mengden manglende data er liten, men kan være mindre egnet dersom mange rader fjernes i prosessen.

Erstatte manglende verdier

I stedet for å fjerne rader, er en mer effektiv tilnærming imputering, hvor manglende verdier erstattes med meningsfulle estimater. Dette bidrar til å bevare datasettets størrelse og redusere skjevhet. En vanlig strategi for numeriske variabler er å erstatte manglende verdier med kolonnens gjennomsnitt.

Base R

Du kan bruke logisk indeksering med is.na() for å finne manglende verdier og tilordne dem gjennomsnittet av kolonnen.

df$selling_price[is.na(df$selling_price)] <- mean(df$selling_price, na.rm = TRUE)

dplyr

Du kan også håndtere imputering ved å bruke ifelse() inne i mutate().

df <- df %>%
  mutate(selling_price = ifelse(is.na(selling_price),
                                mean(selling_price, na.rm = TRUE),
                                selling_price))

Utfylling av manglende verdier i kategoriske kolonner

For kategoriske variabler (tegn- eller faktorkolonner) erstattes ofte manglende verdier med en fast plassholder som "Unknown".

Base R

df$fuel[is.na(df$fuel)] <- "Unknown"

dplyr

Funksjonen replace_na() gir en mer oversiktlig måte å fylle inn manglende verdier på.

df <- df %>%
  mutate(fuel = replace_na(fuel, "Unknown"))

Denne metoden sikrer at manglende verdier håndteres konsekvent, og at kolonnen forblir gyldig for rapportering eller modellering.

question mark

Hvordan erstatter du NA i fuel-kolonnen med "Unknown"?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 10
some-alt