Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Datan Muuntaminen | Datan Käsittely ja Puhdistus
Datan analysointi R:llä

bookDatan 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"
  ))
question mark

Mitä mutate() tekee dplyr:ssä?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 9

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

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

bookDatan 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"
  ))
question mark

Mitä mutate() tekee dplyr:ssä?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 9
some-alt