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

Datatransformatie

Veeg om het menu te tonen

Gegevens transformatie 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, je kunt de prijs per kilometer berekenen om te beoordelen hoe kostenefficiënt een voertuig is.

Base R

Je kunt een nieuwe kolom aanmaken door de $-operator te gebruiken om de naam te definiëren en er waarden aan 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() geef je de naam van de nieuwe kolom op en definieer je hoe deze berekend moet worden.

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

Met gsub() kun je ongewenste tekst verwijderen en vervolgens as.numeric() toepassen om het resultaat naar getallen om te zetten. Na conversie kunnen extra 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 in betekenisvolle categorieën te groeperen. Bijvoorbeeld: auto's kunnen worden ingedeeld 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. Hiermee kunnen meerdere voorwaarden op een overzichtelijke en leesbare manier worden geschreven.

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

Wat doet mutate() in dplyr?

Selecteer het correcte antwoord

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.

Sectie 1. Hoofdstuk 9
some-alt