Datan Muuntaminen
Datan muuntaminen on olennainen vaihe raakadatan valmistelussa analysointia varten. Siinä muokataan, lisätään tai uudelleenkoodataan muuttujia, jotta datasta tulee merkityksellisempää ja valmista analysoitavaksi.
Uusien sarakkeiden luominen
Yleinen muunnos on laskea uusia mittareita olemassa olevista sarakkeista. Esimerkiksi saatat haluta laskea hinnan kilometriä kohden arvioidaksesi, kuinka kustannustehokas ajoneuvo on.
Base R
Voit luoda uuden sarakkeen käyttämällä $
-operaattoria määrittääksesi sen nimen ja antamalla sille arvot.
df$price_per_km <- df$selling_price / df$km_driven
head(df)
dplyr
Uusia sarakkeita voidaan lisätä käyttämällä mutate()
-funktiota. mutate()
-funktion sisällä määritellään uuden sarakkeen nimi ja kuinka se lasketaan.
df <- df %>%
mutate(price_per_km = selling_price / km_driven)
Tekstipohjaisten numeeristen tietojen muuntaminen ja käsittely
Todellisissa tietoaineistoissa numeerinen tieto on usein tallennettu tekstinä, johon on yhdistetty ei-numeerisia merkkejä. Esimerkiksi moottorin tehoarvot voivat esiintyä muodossa "68 bhp", jotka täytyy puhdistaa ja muuntaa ennen analysointia.
Base R
Voit käyttää gsub()
-funktiota poistaaksesi ei-toivotun tekstin ja sen jälkeen as.numeric()
-funktiota muuntaaksesi tuloksen numeeriseksi. Muunnoksen jälkeen voidaan tehdä lisämuunnoksia, kuten jarruvoiman (bhp) muuttaminen kilowateiksi.
df$max_power <- as.numeric(gsub(" bhp", "", df$max_power))
df$max_power_kw <- df$max_power * 0.7457 # convert to kilowatts
dplyr
Sama prosessi voidaan virtaviivaistaa käyttämällä mutate()
-funktiota. Voit yhdistää tekstin korvaamisen, tyyppimuunnoksen ja uuden sarakkeen luomisen yhteen vaiheeseen, mikä tekee koodista selkeämpää ja helpommin luettavaa.
df <- df %>%
mutate(
max_power = as.numeric(gsub(" bhp", "", max_power)),
max_power_kw = max_power * 0.7457
)
Datan kategorisointi
Voit luoda uusia kategorisia muuttujia ryhmittelemällä jatkuvat arvot merkityksellisiin kategorioihin. Esimerkiksi autot voidaan luokitella Low, Medium tai High hintaluokkiin myyntihinnan perusteella.
Base R
Tämä onnistuu sisäkkäisillä ifelse()
-lauseilla. Jokainen ehto tarkistetaan järjestyksessä ja arvo asetetaan sen mukaisesti.
df$price_category <- ifelse(df$selling_price < 300000, "Low",
ifelse(df$selling_price < 700000, "Medium", "High"))
dplyr
Voit käyttää case_when()
-funktiota korvaamaan sisäkkäiset if-else-lauseet. Tämä mahdollistaa useiden ehtojen kirjoittamisen selkeässä ja luettavassa muodossa.
df <- df %>%
mutate(price_category = case_when(
selling_price < 300000 ~ "Low",
selling_price < 700000 ~ "Medium",
TRUE ~ "High"
))
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
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
Datan Muuntaminen
Pyyhkäise näyttääksesi valikon
Datan muuntaminen on olennainen vaihe raakadatan valmistelussa analysointia varten. Siinä muokataan, lisätään tai uudelleenkoodataan muuttujia, jotta datasta tulee merkityksellisempää ja valmista analysoitavaksi.
Uusien sarakkeiden luominen
Yleinen muunnos on laskea uusia mittareita olemassa olevista sarakkeista. Esimerkiksi saatat haluta laskea hinnan kilometriä kohden arvioidaksesi, kuinka kustannustehokas ajoneuvo on.
Base R
Voit luoda uuden sarakkeen käyttämällä $
-operaattoria määrittääksesi sen nimen ja antamalla sille arvot.
df$price_per_km <- df$selling_price / df$km_driven
head(df)
dplyr
Uusia sarakkeita voidaan lisätä käyttämällä mutate()
-funktiota. mutate()
-funktion sisällä määritellään uuden sarakkeen nimi ja kuinka se lasketaan.
df <- df %>%
mutate(price_per_km = selling_price / km_driven)
Tekstipohjaisten numeeristen tietojen muuntaminen ja käsittely
Todellisissa tietoaineistoissa numeerinen tieto on usein tallennettu tekstinä, johon on yhdistetty ei-numeerisia merkkejä. Esimerkiksi moottorin tehoarvot voivat esiintyä muodossa "68 bhp", jotka täytyy puhdistaa ja muuntaa ennen analysointia.
Base R
Voit käyttää gsub()
-funktiota poistaaksesi ei-toivotun tekstin ja sen jälkeen as.numeric()
-funktiota muuntaaksesi tuloksen numeeriseksi. Muunnoksen jälkeen voidaan tehdä lisämuunnoksia, kuten jarruvoiman (bhp) muuttaminen kilowateiksi.
df$max_power <- as.numeric(gsub(" bhp", "", df$max_power))
df$max_power_kw <- df$max_power * 0.7457 # convert to kilowatts
dplyr
Sama prosessi voidaan virtaviivaistaa käyttämällä mutate()
-funktiota. Voit yhdistää tekstin korvaamisen, tyyppimuunnoksen ja uuden sarakkeen luomisen yhteen vaiheeseen, mikä tekee koodista selkeämpää ja helpommin luettavaa.
df <- df %>%
mutate(
max_power = as.numeric(gsub(" bhp", "", max_power)),
max_power_kw = max_power * 0.7457
)
Datan kategorisointi
Voit luoda uusia kategorisia muuttujia ryhmittelemällä jatkuvat arvot merkityksellisiin kategorioihin. Esimerkiksi autot voidaan luokitella Low, Medium tai High hintaluokkiin myyntihinnan perusteella.
Base R
Tämä onnistuu sisäkkäisillä ifelse()
-lauseilla. Jokainen ehto tarkistetaan järjestyksessä ja arvo asetetaan sen mukaisesti.
df$price_category <- ifelse(df$selling_price < 300000, "Low",
ifelse(df$selling_price < 700000, "Medium", "High"))
dplyr
Voit käyttää case_when()
-funktiota korvaamaan sisäkkäiset if-else-lauseet. Tämä mahdollistaa useiden ehtojen kirjoittamisen selkeässä ja luettavassa muodossa.
df <- df %>%
mutate(price_category = case_when(
selling_price < 300000 ~ "Low",
selling_price < 700000 ~ "Medium",
TRUE ~ "High"
))
Kiitos palautteestasi!