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

Gegevens transformatie is een cruciale stap bij het voorbereiden van ruwe data voor analyse. Het 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 uit bestaande kolommen. Bijvoorbeeld, je wilt misschien 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() specificeert u de naam van de nieuwe kolom en definieert u 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

U kunt gsub() gebruiken om ongewenste tekst te verwijderen en vervolgens as.numeric() toepassen om het resultaat naar getallen om te zetten. Na conversie kunnen extra transformaties worden uitgevoerd, zoals het omrekenen 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

U 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.

Suggested prompts:

Can you explain the difference between using Base R and dplyr for data transformation?

How do I handle non-numeric values when converting columns for analysis?

Can you show more examples of categorizing data using different criteria?

Awesome!

Completion rate improved to 4

bookDatatransformatie

Veeg om het menu te tonen

Gegevens transformatie is een cruciale stap bij het voorbereiden van ruwe data voor analyse. Het 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 uit bestaande kolommen. Bijvoorbeeld, je wilt misschien 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() specificeert u de naam van de nieuwe kolom en definieert u 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

U kunt gsub() gebruiken om ongewenste tekst te verwijderen en vervolgens as.numeric() toepassen om het resultaat naar getallen om te zetten. Na conversie kunnen extra transformaties worden uitgevoerd, zoals het omrekenen 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

U 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