Datatransformasjon
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"
))
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 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"
))
Takk for tilbakemeldingene dine!