Puuttuvien 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 tietoa puuttuu aineistosta.
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 arvoja 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ä aineisto on puhdas, mutta voi myös johtaa merkittävään tietojen menetykseen, jos monia rivejä poistetaan.
Base R
Funktio na.omit()
poistaa kaikki rivit, joissa on puuttuvia arvoja, aineistosta.
df_clean <- na.omit(df)
sum(is.na(df_clean))
dplyr
Sama tehtävä voidaan suorittaa käyttämällä funktiota drop_na()
.
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
Loogista indeksointia ja is.na()
-funktiota voidaan käyttää puuttuvien arvojen löytämiseen ja niiden korvaamiseen sarakkeen keskiarvolla.
df$selling_price[is.na(df$selling_price)] <- mean(df$selling_price, na.rm = TRUE)
dplyr
Imputointi voidaan toteuttaa myös 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.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain the difference between removing and imputing missing values?
How do I decide whether to drop or fill missing data in my dataset?
Can you show more examples of handling missing values in R?
Awesome!
Completion rate improved to 4
Puuttuvien 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 tietoa puuttuu aineistosta.
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 arvoja 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ä aineisto on puhdas, mutta voi myös johtaa merkittävään tietojen menetykseen, jos monia rivejä poistetaan.
Base R
Funktio na.omit()
poistaa kaikki rivit, joissa on puuttuvia arvoja, aineistosta.
df_clean <- na.omit(df)
sum(is.na(df_clean))
dplyr
Sama tehtävä voidaan suorittaa käyttämällä funktiota drop_na()
.
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
Loogista indeksointia ja is.na()
-funktiota voidaan käyttää puuttuvien arvojen löytämiseen ja niiden korvaamiseen sarakkeen keskiarvolla.
df$selling_price[is.na(df$selling_price)] <- mean(df$selling_price, na.rm = TRUE)
dplyr
Imputointi voidaan toteuttaa myös 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.
Kiitos palautteestasi!