Datatransformation
Datatransformation er et afgørende trin i forberedelsen af rådata til analyse. Det indebærer at ændre, tilføje eller omkode variable 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()
. Inden for mutate()
angives navnet på den nye kolonne, og hvordan den skal beregnes.
df <- df %>%
mutate(price_per_km = selling_price / km_driven)
Konvertering og transformation af tekstbaserede numeriske data
I virkelige datasæt gemmes numeriske oplysninger ofte som tekst kombineret med ikke-numeriske tegn. For eksempel kan motoreffektværdier optræde 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 der udføres yderligere transformationer, såsom at omregne bremsehestekræfter (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 i 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
Du kan oprette nye kategoriske variabler 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"
))
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 4
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 variable 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()
. Inden for mutate()
angives navnet på den nye kolonne, og hvordan den skal beregnes.
df <- df %>%
mutate(price_per_km = selling_price / km_driven)
Konvertering og transformation af tekstbaserede numeriske data
I virkelige datasæt gemmes numeriske oplysninger ofte som tekst kombineret med ikke-numeriske tegn. For eksempel kan motoreffektværdier optræde 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 der udføres yderligere transformationer, såsom at omregne bremsehestekræfter (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 i 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
Du kan oprette nye kategoriske variabler 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"
))
Tak for dine kommentarer!