R

Como Limpar e Preparar Dados no R

Escrito por Erick Faria · 3 min. >
Preparar Dados no R

Neste post, vamos explorar como limpar e preparar dados no R, uma linguagem amplamente utilizada para análise de dados e ciência de dados. Limpeza e preparação de dados são etapas cruciais no processo de análise, garantindo que os dados sejam precisos, completos e prontos para análise. Vamos criar um DataFrame de exemplo e abordar várias técnicas para limpar e preparar dados utilizando funções do R.

Por que Limpar e Preparar Dados?

Limpar e preparar dados é essencial para remover inconsistências, preencher valores ausentes e transformar dados brutos em um formato utilizável. Dados sujos ou incompletos podem levar a análises imprecisas e conclusões erradas. Portanto, investir tempo na limpeza e preparação dos dados é fundamental para garantir resultados confiáveis.

Preparar Dados no R

Criando um DataFrame com Dados Sujos

Vamos começar criando um DataFrame que contém dados sujos e inconsistentes:

# Preparar Dados no R
# Carregando o pacote necessário
library(dplyr)

# Criando um DataFrame de exemplo
data <- data.frame(
  Nome = c('João', 'Ana', 'Carlos', 'Marta', NA),
  Idade = c(23, 45, NA, 41, 29),
  Cidade = c('São Paulo', 'Rio de Janeiro', 'Belo Horizonte', 'Salvador', 'São Paulo'),
  Salario = c(5000, 7000, 8000, NA, 6200)
)

Identificando e Lidando com Valores Ausentes

Identificando Valores Ausentes

Podemos identificar valores ausentes usando a função is.na():

# Preparar Dados no R
# Verificando valores ausentes
is.na(data)
# Contando valores ausentes por coluna
colSums(is.na(data))

Removendo Valores Ausentes

Para remover linhas ou colunas com valores ausentes, usamos a função na.omit() ou drop_na() do dplyr:

# Preparar Dados no R
# Removendo linhas com qualquer valor ausente
data_clean <- na.omit(data)

# Removendo colunas com qualquer valor ausente
data_clean <- data %>% select_if(~sum(is.na(.)) == 0)

Preenchendo Valores Ausentes

Para preencher valores ausentes, podemos usar a função mutate() com if_else() ou replace_na() do tidyr:

# Preenchendo valores ausentes com a média da coluna
data <- data %>% 
  mutate(Idade = if_else(is.na(Idade), mean(Idade, na.rm = TRUE), Idade),
         Salario = if_else(is.na(Salario), 0, Salario))

Lidando com Dados Duplicados

Identificando Dados Duplicados

Podemos identificar dados duplicados usando a função duplicated():

# Verificando dados duplicados
duplicated(data)

Removendo Dados Duplicados

Para remover duplicatas, usamos a função distinct() do dplyr:

# Preparar Dados no R
# Removendo duplicatas
data <- data %>% distinct()

Corrigindo Inconsistências

Padronizando Texto

Para garantir que os dados de texto estejam consistentes, podemos converter texto para minúsculas ou maiúsculas:

# Preparar Dados no R
# Convertendo texto para minúsculas
data <- data %>% mutate(Nome = tolower(Nome))

# Padronizando nomes de cidades
data <- data %>% mutate(Cidade = tools::toTitleCase(Cidade))

Removendo Espaços em Branco

Podemos remover espaços em branco no início ou no final de strings usando str_trim() do stringr:

# Removendo espaços em branco
library(stringr)
data <- data %>% mutate(Nome = str_trim(Nome))

Transformando Dados

Convertendo Tipos de Dados

Podemos converter tipos de dados para garantir a consistência:

# Convertendo Idade para inteiro
data <- data %>% mutate(Idade = as.integer(Idade))

Criando Novas Colunas

Podemos criar novas colunas com base em outras colunas. Por exemplo, criando uma coluna que indica se o salário é acima da média:

# Criando coluna Salario_Acima_Media
media_salario <- mean(data$Salario)
data <- data %>% mutate(Salario_Acima_Media = Salario > media_salario)

Analisando Dados

Estatísticas Descritivas

Para obter uma visão geral dos dados, podemos usar a função summary():

# Estatísticas descritivas
summary(data)

Agrupando Dados

Podemos agrupar dados para análise agregada usando a função group_by() e summarize():

# Média de salário por cidade
data %>% group_by(Cidade) %>% summarize(Media_Salario = mean(Salario))

Visualizando Dados

Criando Gráficos

Visualizar dados pode ajudar a identificar padrões e tendências. Podemos usar bibliotecas como ggplot2 para criar gráficos:

library(ggplot2)

# Criando um boxplot de Salário por Cidade
ggplot(data, aes(x = Cidade, y = Salario)) +
  geom_boxplot() +
  ggtitle('Distribuição de Salários por Cidade')

Para mais informações sobre como utilizar o R para análise de dados, confira outros conteúdos no meu blog:

Considerações Finais

Espero que este guia tenha sido útil para aprender como limpar e preparar dados no R. A prática é essencial para dominar essas técnicas, então encorajo você a experimentar e aplicar esses métodos em seus próprios projetos de análise de dados.

Para aprimorar suas habilidades com o R e se tornar mais eficiente na manipulação de dados, é importante também fortalecer sua compreensão em ciência de dados. Recomendamos o livro Fundamentos em R: Guia Completo para Iniciantes, disponível na Amazon, que oferece uma introdução abrangente ao R.

Junte-se à nossa comunidade no Twitter e inscreva-se no nosso canal do YouTube para acessar mais tutoriais, dicas e recursos. Continue praticando e explorando novas maneiras de manipular dados com o R, e fique atento para mais guias e tutoriais que compartilharemos.

Escrito por Erick Faria
Engenheiro de Dados com Ph.D. em Geografia e experiência em análise espacial e geoprocessamento. Expertise em processamento de grandes volumes de dados geoespaciais, imagens de satélite e dados de mercado, utilizando ferramentas como Spark, Databricks e Google Earth Engine. Experiência em projetos de mercado de carbono, modelos preditivos para investimentos agrícolas e liderança de projetos de dados em saúde pública. Habilidades em Python, R, SQL e diversas ferramentas de engenharia de dados. Profile