Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Datatransformation | Datamanipulation og -Rensning
Dataanalyse med R

Datatransformation

Stryg for at vise menuen

Datatransformation er et afgørende trin i forberedelsen af rådata til analyse. Det indebærer at ændre, tilføje eller omkode variabler for at gøre dataene mere meningsfulde og klar til analyse.

Oprettelse af nye kolonner

En almindelig transformation er at beregne nye målinger ud fra eksisterende kolonner. For eksempel kan du ønske at beregne prisen pr. kilometer for at vurdere, hvor omkostningseffektiv et køretøj er.

Base R

Du kan oprette en ny kolonne ved at bruge $-operatoren til at definere dens navn og tildele værdier til den.

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

dplyr

Nye kolonner kan tilføjes ved hjælp af funktionen mutate(). Inde i mutate() angives navnet på den nye kolonne, og hvordan den skal beregnes defineres.

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

Konvertering og transformation af tekstbaserede numeriske data

I virkelige datasæt gemmes numerisk information ofte som tekst kombineret med ikke-numeriske tegn. For eksempel kan motoreffektværdier fremstå som "68 bhp", hvilket skal renses og konverteres før analyse.

Base R

Du kan bruge gsub() til at fjerne uønsket tekst og derefter anvende as.numeric() for at konvertere resultatet til tal. Efter konvertering kan yderligere transformationer udføres, såsom at omregne brake horsepower (bhp) til kilowatt.

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

dplyr

Den samme proces kan forenkles med et mutate()-kald. Du kan kombinere tekstudskiftning, typekonvertering og oprettelse af nye kolonner i ét trin, hvilket gør koden mere overskuelig og lettere at læse.

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

Kategorisering af data

Nye kategoriske variabler kan oprettes ved at gruppere kontinuerlige værdier i meningsfulde kategorier. For eksempel kan biler klassificeres i Lav, Mellem eller Høj prisklasser baseret på deres salgspris.

Base R

Dette kan gøres med indlejrede ifelse()-udtryk. Hver betingelse kontrolleres i rækkefølge, og værdien tildeles derefter.

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

dplyr

Du kan bruge funktionen case_when() som en erstatning for indlejrede if-else-udsagn. Dette gør det muligt at skrive flere betingelser i et overskueligt og læsbart format.

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

Hvad gør mutate() i dplyr?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 9

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 1. Kapitel 9
some-alt