Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Tratamento de Dados Ausentes | Manipulação e Limpeza de Dados
Análise de Dados com R

bookTratamento 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.

question mark

Como substituir NA na coluna fuel por "Unknown"?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 10

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

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

bookTratamento 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.

question mark

Como substituir NA na coluna fuel por "Unknown"?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 10
some-alt