Datatransformasjon
Datatransformasjon er et avgjørende trinn i å forberede rådata for analyse. Dette 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 det være ønskelig å beregne pris per kilometer for å vurdere hvor kostnadseffektiv et kjøretøy er.
Base R
En ny kolonne kan opprettes ved å bruke $-operatoren for å definere navnet og tildele 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() spesifiseres navnet på den nye kolonnen og 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 mer oversiktlig og lettere å lese.
df <- df %>%
mutate(
max_power = as.numeric(gsub(" bhp", "", max_power)),
max_power_kw = max_power * 0.7457
)
Kategorisering av data
Du kan opprette nye kategoriske variabler ved å gruppere kontinuerlige verdier i meningsfulle kategorier. For eksempel kan biler klassifiseres i Lav, Middels eller Høy prisklasse 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"
))
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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
Datatransformasjon
Sveip for å vise menyen
Datatransformasjon er et avgjørende trinn i å forberede rådata for analyse. Dette 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 det være ønskelig å beregne pris per kilometer for å vurdere hvor kostnadseffektiv et kjøretøy er.
Base R
En ny kolonne kan opprettes ved å bruke $-operatoren for å definere navnet og tildele 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() spesifiseres navnet på den nye kolonnen og 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 mer oversiktlig og lettere å lese.
df <- df %>%
mutate(
max_power = as.numeric(gsub(" bhp", "", max_power)),
max_power_kw = max_power * 0.7457
)
Kategorisering av data
Du kan opprette nye kategoriske variabler ved å gruppere kontinuerlige verdier i meningsfulle kategorier. For eksempel kan biler klassifiseres i Lav, Middels eller Høy prisklasse 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"
))
Takk for tilbakemeldingene dine!