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

bookDatatransformatie

Datatransformatie is een cruciale stap bij het voorbereiden van ruwe data voor analyse. Dit omvat het wijzigen, toevoegen of hercoderen van variabelen om de data betekenisvoller en klaar voor analyse te maken.

Nieuwe kolommen aanmaken

Een veelvoorkomende transformatie is het berekenen van nieuwe statistieken op basis van bestaande kolommen. Bijvoorbeeld, het berekenen van de prijs per kilometer om te beoordelen hoe kostenefficiënt een voertuig is.

Base R

Een nieuwe kolom kan worden aangemaakt met de $-operator om de naam te definiëren en waarden toe te wijzen.

df$price_per_km <- df$selling_price / df$km_driven
head(df)

dplyr

Nieuwe kolommen kunnen worden toegevoegd met de functie mutate(). Binnen mutate() specificeert u de naam van de nieuwe kolom en definieert u hoe deze moet worden berekend.

df <- df %>%
  mutate(price_per_km = selling_price / km_driven)

Converteren en transformeren van tekstgebaseerde numerieke gegevens

In praktijkdatasets wordt numerieke informatie vaak opgeslagen als tekst gecombineerd met niet-numerieke tekens. Bijvoorbeeld, waarden voor motorvermogen kunnen verschijnen als "68 bhp", wat eerst opgeschoond en geconverteerd moet worden voor analyse.

Base R

U kunt gsub() gebruiken om ongewenste tekst te verwijderen en vervolgens as.numeric() toepassen om het resultaat naar getallen te converteren. Na conversie kunnen aanvullende transformaties worden uitgevoerd, zoals het omzetten van brake horsepower (bhp) naar kilowatt.

df$max_power <- as.numeric(gsub(" bhp", "", df$max_power))
df$max_power_kw <- df$max_power * 0.7457  # convert to kilowatts

dplyr

Hetzelfde proces kan worden gestroomlijnd binnen een mutate()-aanroep. Tekstvervanging, typeconversie en het aanmaken van een nieuwe kolom kunnen in één stap worden gecombineerd, waardoor de code overzichtelijker en leesbaarder wordt.

df <- df %>%
  mutate(
    max_power = as.numeric(gsub(" bhp", "", max_power)),
    max_power_kw = max_power * 0.7457
  )

Gegevens categoriseren

Nieuwe categorische variabelen kunnen worden aangemaakt door continue waarden te groeperen in betekenisvolle categorieën. Bijvoorbeeld, auto's kunnen worden geclassificeerd in Lage, Middelmatige of Hoge prijsklassen op basis van hun verkoopprijs.

Base R

Dit kan worden gedaan met geneste ifelse()-verklaringen. Elke voorwaarde wordt op volgorde gecontroleerd en de waarde wordt dienovereenkomstig toegekend.

df$price_category <- ifelse(df$selling_price < 300000, "Low",
                            ifelse(df$selling_price < 700000, "Medium", "High"))

dplyr

Je kunt de functie case_when() gebruiken als vervanging voor geneste if-else-verklaringen. Dit maakt het mogelijk om meerdere voorwaarden op een overzichtelijke en leesbare manier te schrijven.

df <- df %>%
  mutate(price_category = case_when(
    selling_price < 300000 ~ "Low",
    selling_price < 700000 ~ "Medium",
    TRUE ~ "High"
  ))
question mark

Wat doet mutate() in dplyr?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 9

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

bookDatatransformatie

Veeg om het menu te tonen

Datatransformatie is een cruciale stap bij het voorbereiden van ruwe data voor analyse. Dit omvat het wijzigen, toevoegen of hercoderen van variabelen om de data betekenisvoller en klaar voor analyse te maken.

Nieuwe kolommen aanmaken

Een veelvoorkomende transformatie is het berekenen van nieuwe statistieken op basis van bestaande kolommen. Bijvoorbeeld, het berekenen van de prijs per kilometer om te beoordelen hoe kostenefficiënt een voertuig is.

Base R

Een nieuwe kolom kan worden aangemaakt met de $-operator om de naam te definiëren en waarden toe te wijzen.

df$price_per_km <- df$selling_price / df$km_driven
head(df)

dplyr

Nieuwe kolommen kunnen worden toegevoegd met de functie mutate(). Binnen mutate() specificeert u de naam van de nieuwe kolom en definieert u hoe deze moet worden berekend.

df <- df %>%
  mutate(price_per_km = selling_price / km_driven)

Converteren en transformeren van tekstgebaseerde numerieke gegevens

In praktijkdatasets wordt numerieke informatie vaak opgeslagen als tekst gecombineerd met niet-numerieke tekens. Bijvoorbeeld, waarden voor motorvermogen kunnen verschijnen als "68 bhp", wat eerst opgeschoond en geconverteerd moet worden voor analyse.

Base R

U kunt gsub() gebruiken om ongewenste tekst te verwijderen en vervolgens as.numeric() toepassen om het resultaat naar getallen te converteren. Na conversie kunnen aanvullende transformaties worden uitgevoerd, zoals het omzetten van brake horsepower (bhp) naar kilowatt.

df$max_power <- as.numeric(gsub(" bhp", "", df$max_power))
df$max_power_kw <- df$max_power * 0.7457  # convert to kilowatts

dplyr

Hetzelfde proces kan worden gestroomlijnd binnen een mutate()-aanroep. Tekstvervanging, typeconversie en het aanmaken van een nieuwe kolom kunnen in één stap worden gecombineerd, waardoor de code overzichtelijker en leesbaarder wordt.

df <- df %>%
  mutate(
    max_power = as.numeric(gsub(" bhp", "", max_power)),
    max_power_kw = max_power * 0.7457
  )

Gegevens categoriseren

Nieuwe categorische variabelen kunnen worden aangemaakt door continue waarden te groeperen in betekenisvolle categorieën. Bijvoorbeeld, auto's kunnen worden geclassificeerd in Lage, Middelmatige of Hoge prijsklassen op basis van hun verkoopprijs.

Base R

Dit kan worden gedaan met geneste ifelse()-verklaringen. Elke voorwaarde wordt op volgorde gecontroleerd en de waarde wordt dienovereenkomstig toegekend.

df$price_category <- ifelse(df$selling_price < 300000, "Low",
                            ifelse(df$selling_price < 700000, "Medium", "High"))

dplyr

Je kunt de functie case_when() gebruiken als vervanging voor geneste if-else-verklaringen. Dit maakt het mogelijk om meerdere voorwaarden op een overzichtelijke en leesbare manier te schrijven.

df <- df %>%
  mutate(price_category = case_when(
    selling_price < 300000 ~ "Low",
    selling_price < 700000 ~ "Medium",
    TRUE ~ "High"
  ))
question mark

Wat doet mutate() in dplyr?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 9
some-alt