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"
))
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.