Håndtering av Manglende Data
Manglende data er et vanlig problem i virkelige datasett. Det kan påvirke nøyaktigheten av analysen og føre til misvisende resultater dersom det ikke håndteres riktig.
Oppdage manglende verdier
Første steg er å undersøke hvor og hvor mye data som mangler i datasettet ditt.
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
Dette gir en tydelig oversikt over hvilke kolonner som har manglende data og hvor alvorlig problemet er.
Fjerne manglende verdier
Noen ganger er den enkleste måten å håndtere manglende data på å fjerne rader som inneholder noen NA
-verdier. Dette sikrer at datasettet er rent, men kan også føre til betydelig datatap dersom mange rader blir berørt.
Base R
Funksjonen na.omit()
fjerner alle rader med manglende verdier fra datasettet.
df_clean <- na.omit(df)
sum(is.na(df_clean))
dplyr
Den samme oppgaven kan utføres ved å bruke funksjonen drop_na()
.
df_clean <- df %>%
drop_na()
Denne metoden er enkel og fungerer godt når mengden manglende data er liten, men kan være mindre egnet dersom mange rader fjernes i prosessen.
Erstatte manglende verdier
I stedet for å fjerne rader, er en mer effektiv tilnærming imputering, hvor manglende verdier erstattes med meningsfulle estimater. Dette bidrar til å bevare datasettets størrelse og redusere skjevhet. En vanlig strategi for numeriske variabler er å erstatte manglende verdier med kolonnens gjennomsnitt.
Base R
Du kan bruke logisk indeksering med is.na()
for å finne manglende verdier og tilordne dem gjennomsnittet av kolonnen.
df$selling_price[is.na(df$selling_price)] <- mean(df$selling_price, na.rm = TRUE)
dplyr
Du kan også håndtere imputering ved å bruke ifelse()
inne i mutate()
.
df <- df %>%
mutate(selling_price = ifelse(is.na(selling_price),
mean(selling_price, na.rm = TRUE),
selling_price))
Utfylling av manglende verdier i kategoriske kolonner
For kategoriske variabler (tegn- eller faktorkolonner) erstattes ofte manglende verdier med en fast plassholder som "Unknown"
.
Base R
df$fuel[is.na(df$fuel)] <- "Unknown"
dplyr
Funksjonen replace_na()
gir en mer oversiktlig måte å fylle inn manglende verdier på.
df <- df %>%
mutate(fuel = replace_na(fuel, "Unknown"))
Denne metoden sikrer at manglende verdier håndteres konsekvent, og at kolonnen forblir gyldig for rapportering eller modellering.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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
Håndtering av Manglende Data
Sveip for å vise menyen
Manglende data er et vanlig problem i virkelige datasett. Det kan påvirke nøyaktigheten av analysen og føre til misvisende resultater dersom det ikke håndteres riktig.
Oppdage manglende verdier
Første steg er å undersøke hvor og hvor mye data som mangler i datasettet ditt.
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
Dette gir en tydelig oversikt over hvilke kolonner som har manglende data og hvor alvorlig problemet er.
Fjerne manglende verdier
Noen ganger er den enkleste måten å håndtere manglende data på å fjerne rader som inneholder noen NA
-verdier. Dette sikrer at datasettet er rent, men kan også føre til betydelig datatap dersom mange rader blir berørt.
Base R
Funksjonen na.omit()
fjerner alle rader med manglende verdier fra datasettet.
df_clean <- na.omit(df)
sum(is.na(df_clean))
dplyr
Den samme oppgaven kan utføres ved å bruke funksjonen drop_na()
.
df_clean <- df %>%
drop_na()
Denne metoden er enkel og fungerer godt når mengden manglende data er liten, men kan være mindre egnet dersom mange rader fjernes i prosessen.
Erstatte manglende verdier
I stedet for å fjerne rader, er en mer effektiv tilnærming imputering, hvor manglende verdier erstattes med meningsfulle estimater. Dette bidrar til å bevare datasettets størrelse og redusere skjevhet. En vanlig strategi for numeriske variabler er å erstatte manglende verdier med kolonnens gjennomsnitt.
Base R
Du kan bruke logisk indeksering med is.na()
for å finne manglende verdier og tilordne dem gjennomsnittet av kolonnen.
df$selling_price[is.na(df$selling_price)] <- mean(df$selling_price, na.rm = TRUE)
dplyr
Du kan også håndtere imputering ved å bruke ifelse()
inne i mutate()
.
df <- df %>%
mutate(selling_price = ifelse(is.na(selling_price),
mean(selling_price, na.rm = TRUE),
selling_price))
Utfylling av manglende verdier i kategoriske kolonner
For kategoriske variabler (tegn- eller faktorkolonner) erstattes ofte manglende verdier med en fast plassholder som "Unknown"
.
Base R
df$fuel[is.na(df$fuel)] <- "Unknown"
dplyr
Funksjonen replace_na()
gir en mer oversiktlig måte å fylle inn manglende verdier på.
df <- df %>%
mutate(fuel = replace_na(fuel, "Unknown"))
Denne metoden sikrer at manglende verdier håndteres konsekvent, og at kolonnen forblir gyldig for rapportering eller modellering.
Takk for tilbakemeldingene dine!