Tratamento de Dados Ausentes
Dados ausentes são um problema comum em conjuntos de dados do mundo real. Eles podem afetar a precisão da análise e levar a resultados enganosos se não forem devidamente tratados.
Detectando Valores Ausentes
O primeiro passo é verificar onde e quanto dado está ausente em seu conjunto de dados.
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
Isso fornece uma visão clara de quais colunas possuem dados ausentes e qual a gravidade do problema.
Removendo Valores Ausentes
Às vezes, a maneira mais simples de lidar com dados ausentes é remover as linhas que contêm qualquer valor NA
. Isso garante que o conjunto de dados esteja limpo, mas também pode resultar em perda significativa de dados se muitas linhas forem afetadas.
Base R
A função na.omit()
remove todas as linhas com valores ausentes do conjunto de dados.
df_clean <- na.omit(df)
sum(is.na(df_clean))
dplyr
A mesma tarefa pode ser realizada utilizando a função drop_na()
.
df_clean <- df %>%
drop_na()
Essa abordagem é simples e funciona bem quando a quantidade de dados ausentes é pequena, mas pode não ser ideal se muitas linhas forem removidas no processo.
Substituição de Valores Ausentes
Em vez de remover linhas, uma abordagem mais eficaz é a imputação, na qual valores ausentes são substituídos por estimativas significativas. Isso ajuda a preservar o tamanho do conjunto de dados e a reduzir vieses. Uma estratégia comum para variáveis numéricas é substituir valores ausentes pela média da coluna.
Base R
É possível utilizar indexação lógica com is.na()
para identificar valores ausentes e atribuir a média da coluna a eles.
df$selling_price[is.na(df$selling_price)] <- mean(df$selling_price, na.rm = TRUE)
dplyr
A imputação também pode ser realizada utilizando ifelse()
dentro de mutate()
.
df <- df %>%
mutate(selling_price = ifelse(is.na(selling_price),
mean(selling_price, na.rm = TRUE),
selling_price))
Preenchimento de Valores Ausentes em Colunas Categóricas
Para variáveis categóricas (colunas do tipo character ou factor), os valores ausentes geralmente são substituídos por um marcador fixo, como "Unknown"
.
Base R
df$fuel[is.na(df$fuel)] <- "Unknown"
dplyr
A função replace_na()
oferece uma maneira mais limpa de preencher valores ausentes.
df <- df %>%
mutate(fuel = replace_na(fuel, "Unknown"))
Essa abordagem garante que os valores ausentes sejam tratados de forma consistente e que a coluna permaneça válida para relatórios ou modelagem.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
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
Tratamento de Dados Ausentes
Deslize para mostrar o menu
Dados ausentes são um problema comum em conjuntos de dados do mundo real. Eles podem afetar a precisão da análise e levar a resultados enganosos se não forem devidamente tratados.
Detectando Valores Ausentes
O primeiro passo é verificar onde e quanto dado está ausente em seu conjunto de dados.
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
Isso fornece uma visão clara de quais colunas possuem dados ausentes e qual a gravidade do problema.
Removendo Valores Ausentes
Às vezes, a maneira mais simples de lidar com dados ausentes é remover as linhas que contêm qualquer valor NA
. Isso garante que o conjunto de dados esteja limpo, mas também pode resultar em perda significativa de dados se muitas linhas forem afetadas.
Base R
A função na.omit()
remove todas as linhas com valores ausentes do conjunto de dados.
df_clean <- na.omit(df)
sum(is.na(df_clean))
dplyr
A mesma tarefa pode ser realizada utilizando a função drop_na()
.
df_clean <- df %>%
drop_na()
Essa abordagem é simples e funciona bem quando a quantidade de dados ausentes é pequena, mas pode não ser ideal se muitas linhas forem removidas no processo.
Substituição de Valores Ausentes
Em vez de remover linhas, uma abordagem mais eficaz é a imputação, na qual valores ausentes são substituídos por estimativas significativas. Isso ajuda a preservar o tamanho do conjunto de dados e a reduzir vieses. Uma estratégia comum para variáveis numéricas é substituir valores ausentes pela média da coluna.
Base R
É possível utilizar indexação lógica com is.na()
para identificar valores ausentes e atribuir a média da coluna a eles.
df$selling_price[is.na(df$selling_price)] <- mean(df$selling_price, na.rm = TRUE)
dplyr
A imputação também pode ser realizada utilizando ifelse()
dentro de mutate()
.
df <- df %>%
mutate(selling_price = ifelse(is.na(selling_price),
mean(selling_price, na.rm = TRUE),
selling_price))
Preenchimento de Valores Ausentes em Colunas Categóricas
Para variáveis categóricas (colunas do tipo character ou factor), os valores ausentes geralmente são substituídos por um marcador fixo, como "Unknown"
.
Base R
df$fuel[is.na(df$fuel)] <- "Unknown"
dplyr
A função replace_na()
oferece uma maneira mais limpa de preencher valores ausentes.
df <- df %>%
mutate(fuel = replace_na(fuel, "Unknown"))
Essa abordagem garante que os valores ausentes sejam tratados de forma consistente e que a coluna permaneça válida para relatórios ou modelagem.
Obrigado pelo seu feedback!