Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Omgaan Met Ontbrekende Gegevens | Gegevensmanipulatie en Opschoning
Data-analyse met R

bookOmgaan Met Ontbrekende Gegevens

Ontbrekende gegevens zijn een veelvoorkomend probleem in datasets uit de praktijk. Dit kan de nauwkeurigheid van analyses beïnvloeden en tot misleidende resultaten leiden als het niet correct wordt aangepakt.

Ontdekken van Ontbrekende Waarden

De eerste stap is controleren waar en hoeveel gegevens ontbreken in uw dataset.

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

Dit geeft een duidelijk beeld van welke kolommen ontbrekende gegevens bevatten en hoe ernstig het probleem is.

Verwijderen van Ontbrekende Waarden

Soms is de eenvoudigste manier om ontbrekende gegevens te behandelen het verwijderen van rijen die een NA-waarde bevatten. Dit zorgt ervoor dat de dataset schoon is, maar kan ook leiden tot aanzienlijk gegevensverlies als veel rijen worden beïnvloed.

Base R

De functie na.omit() verwijdert alle rijen met ontbrekende waarden uit de dataset.

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

dplyr

Dezelfde taak kan worden uitgevoerd met de functie drop_na().

df_clean <- df %>%
  drop_na()

Deze methode is eenvoudig en werkt goed wanneer er weinig ontbrekende data zijn, maar is mogelijk minder geschikt als er veel rijen worden verwijderd tijdens het proces.

Ontbrekende waarden vervangen

In plaats van rijen te verwijderen, is imputatie een effectievere aanpak, waarbij ontbrekende waarden worden vervangen door zinvolle schattingen. Dit helpt de omvang van de dataset te behouden en bias te verminderen. Een veelgebruikte strategie voor numerieke variabelen is het vervangen van ontbrekende waarden door het kolomgemiddelde.

Base R

Logische indexering met is.na() gebruiken om ontbrekende waarden te vinden en deze toe te wijzen aan het gemiddelde van de kolom.

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

dplyr

Imputatie uitvoeren met ifelse() binnen mutate().

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

Ontbrekende waarden invullen in categorische kolommen

Voor categorische variabelen (character- of factorkolommen) worden ontbrekende waarden vaak vervangen door een vaste aanduiding zoals "Unknown".

Base R

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

dplyr

De functie replace_na() biedt een overzichtelijkere manier om ontbrekende waarden in te vullen.

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

Deze methode zorgt ervoor dat ontbrekende waarden consequent worden behandeld en dat de kolom geldig blijft voor rapportage of modellering.

question mark

Hoe vervang je NA in de kolom fuel door "Unknown"?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 10

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 4

bookOmgaan Met Ontbrekende Gegevens

Veeg om het menu te tonen

Ontbrekende gegevens zijn een veelvoorkomend probleem in datasets uit de praktijk. Dit kan de nauwkeurigheid van analyses beïnvloeden en tot misleidende resultaten leiden als het niet correct wordt aangepakt.

Ontdekken van Ontbrekende Waarden

De eerste stap is controleren waar en hoeveel gegevens ontbreken in uw dataset.

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

Dit geeft een duidelijk beeld van welke kolommen ontbrekende gegevens bevatten en hoe ernstig het probleem is.

Verwijderen van Ontbrekende Waarden

Soms is de eenvoudigste manier om ontbrekende gegevens te behandelen het verwijderen van rijen die een NA-waarde bevatten. Dit zorgt ervoor dat de dataset schoon is, maar kan ook leiden tot aanzienlijk gegevensverlies als veel rijen worden beïnvloed.

Base R

De functie na.omit() verwijdert alle rijen met ontbrekende waarden uit de dataset.

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

dplyr

Dezelfde taak kan worden uitgevoerd met de functie drop_na().

df_clean <- df %>%
  drop_na()

Deze methode is eenvoudig en werkt goed wanneer er weinig ontbrekende data zijn, maar is mogelijk minder geschikt als er veel rijen worden verwijderd tijdens het proces.

Ontbrekende waarden vervangen

In plaats van rijen te verwijderen, is imputatie een effectievere aanpak, waarbij ontbrekende waarden worden vervangen door zinvolle schattingen. Dit helpt de omvang van de dataset te behouden en bias te verminderen. Een veelgebruikte strategie voor numerieke variabelen is het vervangen van ontbrekende waarden door het kolomgemiddelde.

Base R

Logische indexering met is.na() gebruiken om ontbrekende waarden te vinden en deze toe te wijzen aan het gemiddelde van de kolom.

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

dplyr

Imputatie uitvoeren met ifelse() binnen mutate().

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

Ontbrekende waarden invullen in categorische kolommen

Voor categorische variabelen (character- of factorkolommen) worden ontbrekende waarden vaak vervangen door een vaste aanduiding zoals "Unknown".

Base R

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

dplyr

De functie replace_na() biedt een overzichtelijkere manier om ontbrekende waarden in te vullen.

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

Deze methode zorgt ervoor dat ontbrekende waarden consequent worden behandeld en dat de kolom geldig blijft voor rapportage of modellering.

question mark

Hoe vervang je NA in de kolom fuel door "Unknown"?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 10
some-alt