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

bookPuuttuvien Tietojen Käsittely

Puuttuvat tiedot ovat yleinen ongelma todellisissa tietoaineistoissa. Ne voivat heikentää analyysin tarkkuutta ja johtaa harhaanjohtaviin tuloksiin, ellei niitä käsitellä asianmukaisesti.

Puuttuvien arvojen tunnistaminen

Ensimmäinen vaihe on tarkistaa, missä ja kuinka paljon tietoaineistosta puuttuu tietoja.

is.na(df)              # returns a logical matrix of TRUE/FALSE
sum(is.na(df))         # total number of missing values
colSums(is.na(df))     # missing values per column

Tämä antaa selkeän kuvan siitä, missä sarakkeissa on puuttuvia tietoja ja kuinka vakava ongelma on.

Puuttuvien arvojen poistaminen

Joskus yksinkertaisin tapa käsitellä puuttuvia tietoja on poistaa rivit, jotka sisältävät minkä tahansa NA-arvon. Tämä varmistaa, että tietoaineisto on puhdas, mutta voi myös johtaa merkittävään tietojen menetykseen, jos monissa riveissä on puutteita.

Base R

na.omit()-funktio poistaa kaikki puuttuvia arvoja sisältävät rivit aineistosta.

df_clean <- na.omit(df)
sum(is.na(df_clean))

dplyr

Sama tehtävä voidaan suorittaa käyttämällä drop_na()-funktiota.

df_clean <- df %>%
  drop_na()

Tämä menetelmä on yksinkertainen ja toimii hyvin, kun puuttuvien tietojen määrä on pieni, mutta ei välttämättä ole ihanteellinen, jos prosessissa poistetaan paljon rivejä.

Puuttuvien arvojen korvaaminen

Rivien poistamisen sijaan tehokkaampi lähestymistapa on imputointi, jossa puuttuvat arvot korvataan merkityksellisillä estimaateilla. Tämä auttaa säilyttämään aineiston koon ja vähentämään harhaa. Yleinen strategia numeerisille muuttujille on korvata puuttuvat arvot sarakkeen keskiarvolla.

Base R

Voit käyttää loogista indeksointia ja is.na()-funktiota löytääksesi puuttuvat arvot ja asettaaksesi niille sarakkeen keskiarvon.

df$selling_price[is.na(df$selling_price)] <- mean(df$selling_price, na.rm = TRUE)

dplyr

Voit myös käsitellä imputointia käyttämällä ifelse()-funktiota mutate()-funktion sisällä.

df <- df %>%
  mutate(selling_price = ifelse(is.na(selling_price),
                                mean(selling_price, na.rm = TRUE),
                                selling_price))

Puuttuvien arvojen täyttäminen kategorisissa sarakkeissa

Kategorisissa muuttujissa (merkkijono- tai faktorimuotoiset sarakkeet) puuttuvat arvot korvataan usein kiinteällä paikkamerkillä, kuten "Unknown".

Base R

df$fuel[is.na(df$fuel)] <- "Unknown"

dplyr

replace_na()-funktio tarjoaa selkeämmän tavan täyttää puuttuvat arvot.

df <- df %>%
  mutate(fuel = replace_na(fuel, "Unknown"))

Tämä lähestymistapa varmistaa, että puuttuvat arvot käsitellään johdonmukaisesti ja sarake pysyy kelvollisena raportointia tai mallinnusta varten.

question mark

Miten korvaat NA-arvot fuel-sarakkeessa arvolla "Unknown"?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 10

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Awesome!

Completion rate improved to 4

bookPuuttuvien Tietojen Käsittely

Pyyhkäise näyttääksesi valikon

Puuttuvat tiedot ovat yleinen ongelma todellisissa tietoaineistoissa. Ne voivat heikentää analyysin tarkkuutta ja johtaa harhaanjohtaviin tuloksiin, ellei niitä käsitellä asianmukaisesti.

Puuttuvien arvojen tunnistaminen

Ensimmäinen vaihe on tarkistaa, missä ja kuinka paljon tietoaineistosta puuttuu tietoja.

is.na(df)              # returns a logical matrix of TRUE/FALSE
sum(is.na(df))         # total number of missing values
colSums(is.na(df))     # missing values per column

Tämä antaa selkeän kuvan siitä, missä sarakkeissa on puuttuvia tietoja ja kuinka vakava ongelma on.

Puuttuvien arvojen poistaminen

Joskus yksinkertaisin tapa käsitellä puuttuvia tietoja on poistaa rivit, jotka sisältävät minkä tahansa NA-arvon. Tämä varmistaa, että tietoaineisto on puhdas, mutta voi myös johtaa merkittävään tietojen menetykseen, jos monissa riveissä on puutteita.

Base R

na.omit()-funktio poistaa kaikki puuttuvia arvoja sisältävät rivit aineistosta.

df_clean <- na.omit(df)
sum(is.na(df_clean))

dplyr

Sama tehtävä voidaan suorittaa käyttämällä drop_na()-funktiota.

df_clean <- df %>%
  drop_na()

Tämä menetelmä on yksinkertainen ja toimii hyvin, kun puuttuvien tietojen määrä on pieni, mutta ei välttämättä ole ihanteellinen, jos prosessissa poistetaan paljon rivejä.

Puuttuvien arvojen korvaaminen

Rivien poistamisen sijaan tehokkaampi lähestymistapa on imputointi, jossa puuttuvat arvot korvataan merkityksellisillä estimaateilla. Tämä auttaa säilyttämään aineiston koon ja vähentämään harhaa. Yleinen strategia numeerisille muuttujille on korvata puuttuvat arvot sarakkeen keskiarvolla.

Base R

Voit käyttää loogista indeksointia ja is.na()-funktiota löytääksesi puuttuvat arvot ja asettaaksesi niille sarakkeen keskiarvon.

df$selling_price[is.na(df$selling_price)] <- mean(df$selling_price, na.rm = TRUE)

dplyr

Voit myös käsitellä imputointia käyttämällä ifelse()-funktiota mutate()-funktion sisällä.

df <- df %>%
  mutate(selling_price = ifelse(is.na(selling_price),
                                mean(selling_price, na.rm = TRUE),
                                selling_price))

Puuttuvien arvojen täyttäminen kategorisissa sarakkeissa

Kategorisissa muuttujissa (merkkijono- tai faktorimuotoiset sarakkeet) puuttuvat arvot korvataan usein kiinteällä paikkamerkillä, kuten "Unknown".

Base R

df$fuel[is.na(df$fuel)] <- "Unknown"

dplyr

replace_na()-funktio tarjoaa selkeämmän tavan täyttää puuttuvat arvot.

df <- df %>%
  mutate(fuel = replace_na(fuel, "Unknown"))

Tämä lähestymistapa varmistaa, että puuttuvat arvot käsitellään johdonmukaisesti ja sarake pysyy kelvollisena raportointia tai mallinnusta varten.

question mark

Miten korvaat NA-arvot fuel-sarakkeessa arvolla "Unknown"?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 10
some-alt