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

bookDatatransformasjon

Datatransformasjon er et avgjørende steg i å forberede rådata for analyse. Det innebærer å endre, legge til eller omkode variabler for å gjøre dataene mer meningsfulle og klare for analyse.

Opprette nye kolonner

En vanlig transformasjon er å beregne nye måleverdier fra eksisterende kolonner. For eksempel kan du ønske å beregne pris per kilometer for å vurdere hvor kostnadseffektiv et kjøretøy er.

Base R

Du kan opprette en ny kolonne ved å bruke $-operatoren for å definere navnet og tilordne verdier til den.

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

dplyr

Nye kolonner kan legges til ved å bruke funksjonen mutate(). Inne i mutate() spesifiserer du navnet på den nye kolonnen og definerer hvordan den skal beregnes.

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

Konvertering og transformasjon av tekstbaserte numeriske data

I virkelige datasett lagres numerisk informasjon ofte som tekst kombinert med ikke-numeriske tegn. For eksempel kan motoreffektverdier vises som "68 bhp", som må renses og konverteres før analyse.

Base R

Du kan bruke gsub() for å fjerne uønsket tekst og deretter bruke as.numeric() for å konvertere resultatet til tall. Etter konvertering kan ytterligere transformasjoner utføres, for eksempel å konvertere 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 prosessen kan forenkles ved bruk av mutate(). Du kan kombinere tekstutskifting, typekonvertering og opprettelse av nye kolonner i ett enkelt steg, noe som gjør koden ryddigere og lettere å lese.

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

Kategorisering av data

Nye kategoriske variabler kan opprettes ved å gruppere kontinuerlige verdier i meningsfulle kategorier. For eksempel kan biler klassifiseres i Low, Medium, eller High prisklasser basert på salgsprisen.

Base R

Dette kan gjøres med nestede ifelse()-setninger. Hver betingelse sjekkes i rekkefølge, og verdien tildeles deretter.

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

dplyr

Du kan bruke funksjonen case_when() som en erstatning for nøstede if-else-setninger. Dette gjør det mulig å skrive flere betingelser på en ryddig og lesbar måte.

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

Hva gjør mutate() i dplyr?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 9

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

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

bookDatatransformasjon

Sveip for å vise menyen

Datatransformasjon er et avgjørende steg i å forberede rådata for analyse. Det innebærer å endre, legge til eller omkode variabler for å gjøre dataene mer meningsfulle og klare for analyse.

Opprette nye kolonner

En vanlig transformasjon er å beregne nye måleverdier fra eksisterende kolonner. For eksempel kan du ønske å beregne pris per kilometer for å vurdere hvor kostnadseffektiv et kjøretøy er.

Base R

Du kan opprette en ny kolonne ved å bruke $-operatoren for å definere navnet og tilordne verdier til den.

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

dplyr

Nye kolonner kan legges til ved å bruke funksjonen mutate(). Inne i mutate() spesifiserer du navnet på den nye kolonnen og definerer hvordan den skal beregnes.

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

Konvertering og transformasjon av tekstbaserte numeriske data

I virkelige datasett lagres numerisk informasjon ofte som tekst kombinert med ikke-numeriske tegn. For eksempel kan motoreffektverdier vises som "68 bhp", som må renses og konverteres før analyse.

Base R

Du kan bruke gsub() for å fjerne uønsket tekst og deretter bruke as.numeric() for å konvertere resultatet til tall. Etter konvertering kan ytterligere transformasjoner utføres, for eksempel å konvertere 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 prosessen kan forenkles ved bruk av mutate(). Du kan kombinere tekstutskifting, typekonvertering og opprettelse av nye kolonner i ett enkelt steg, noe som gjør koden ryddigere og lettere å lese.

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

Kategorisering av data

Nye kategoriske variabler kan opprettes ved å gruppere kontinuerlige verdier i meningsfulle kategorier. For eksempel kan biler klassifiseres i Low, Medium, eller High prisklasser basert på salgsprisen.

Base R

Dette kan gjøres med nestede ifelse()-setninger. Hver betingelse sjekkes i rekkefølge, og verdien tildeles deretter.

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

dplyr

Du kan bruke funksjonen case_when() som en erstatning for nøstede if-else-setninger. Dette gjør det mulig å skrive flere betingelser på en ryddig og lesbar måte.

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

Hva gjør mutate() i dplyr?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 9
some-alt