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ä

Datan Muuntaminen

Pyyhkäise näyttääksesi valikon

Datan muuntaminen on olennainen vaihe raakadatan valmistelussa analysointia varten. Siihen kuuluu muuttujien muokkaaminen, lisääminen tai uudelleenkoodaus, jotta datasta tulee merkityksellisempää ja valmista analyysiin.

Uusien sarakkeiden luominen

Yleinen muunnos on laskea uusia mittareita olemassa olevista sarakkeista. Esimerkiksi voidaan laskea hinta per kilometri arvioidakseen, kuinka kustannustehokas ajoneuvo on.

Base R

Uuden sarakkeen voi luoda käyttämällä $-operaattoria määrittämään sarakkeen nimi ja antamalla sille arvot.

df$price_per_km <- df$selling_price / df$km_driven
head(df)

dplyr

Uusien sarakkeiden lisääminen mutate()-funktiolla. mutate()-funktion sisällä määritellään uuden sarakkeen nimi ja laskentatapa.

df <- df %>%
  mutate(price_per_km = selling_price / km_driven)

Tekstipohjaisten numeeristen tietojen muuntaminen ja käsittely

Reaaliaineistoissa numeerista tietoa tallennetaan usein tekstinä, jossa on mukana ei-numeerisia merkkejä. Esimerkiksi moottorin tehoarvot voivat esiintyä muodossa "68 bhp", jotka täytyy puhdistaa ja muuntaa ennen analysointia.

Base R

gsub()-funktiolla poistetaan ei-toivotut tekstit ja as.numeric()-funktiolla muunnetaan tulos numeeriseksi. Muunnoksen jälkeen voidaan tehdä lisämuunnoksia, kuten jarruvoiman (bhp) muuntaminen 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 mutate()-kutsun sisällä. Tekstin korvaaminen, tyyppimuunnos ja uuden sarakkeen luominen voidaan yhdistää yhdeksi vaiheeksi, 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

Uusia kategorisia muuttujia voidaan luoda ryhmittelemällä jatkuvia arvoja merkityksellisiin kategorioihin. Esimerkiksi autot voidaan luokitella matala, keski tai korkea hintaluokkiin myyntihinnan perusteella.

Base R

Tämä voidaan tehdä 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 sisäkkäisten if-else-lauseiden sijaan. 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-paketissa?

Valitse oikea vastaus

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

Osio 1. Luku 9
some-alt