R

Como Limpar e Transformar Dados no R com tidyverse

Escrito por Erick Faria · 3 min. >
Limpar e Transformar Dados no R

Neste post, vamos explorar como realizar a limpeza e transformação de dados no R utilizando o pacote tidyverse. A limpeza e transformação de dados são etapas essenciais em qualquer análise de dados, garantindo que os dados estejam no formato correto para a análise. Vamos criar um conjunto de dados de exemplo e abordar várias técnicas para manipular esses dados utilizando o tidyverse.

Por que Usar o tidyverse para Limpar e Transformar Dados no R?

O tidyverse é uma coleção de pacotes no R, incluindo dplyr, tidyr, ggplot2, readr, entre outros, que facilitam a manipulação, visualização e importação de dados. Ele fornece uma interface coerente e poderosa para trabalhar com dados, tornando a limpeza e transformação de dados mais eficiente e intuitiva.

Trabalhando com Dados no R

Instalando e Carregando o Pacote tidyverse

Primeiro, vamos instalar e carregar o pacote tidyverse:

# Limpar e Transformar Dados no R
# Instalando o pacote tidyverse
install.packages("tidyverse")

# Carregando o pacote tidyverse
library(tidyverse)

Criando um Conjunto de Dados de Exemplo

Vamos criar um conjunto de dados com algumas inconsistências e valores ausentes para exemplificar as técnicas de limpeza e transformação:

# Limpar e Transformar Dados no R
# 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),
  stringsAsFactors = FALSE
)

Limpeza de Dados

Removendo Espaços em Branco

Podemos usar a função str_trim do pacote stringr para remover espaços em branco no início e no final das strings:

# Limpar e Transformar Dados no R
# Removendo espaços em branco
data <- data %>%
  mutate(Nome = str_trim(Nome))

Lidando com Valores Ausentes

Podemos identificar e preencher valores ausentes usando as funções is.na e mutate:

# Limpar e Transformar Dados no R
# Preenchendo valores ausentes na coluna Idade com a média da Idade
data <- data %>%
  mutate(Idade = ifelse(is.na(Idade), mean(Idade, na.rm = TRUE), Idade))

# Preenchendo valores ausentes na coluna Salario com 0
data <- data %>%
  mutate(Salario = ifelse(is.na(Salario), 0, Salario))

Transformação de Dados

Convertendo Tipos de Dados

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

# Limpar e Transformar Dados no R
# Convertendo a coluna Idade para integer
data <- data %>%
  mutate(Idade = as.integer(Idade))

Criando Novas Colunas

Podemos criar novas colunas com base em outras colunas existentes:

# Limpar e Transformar Dados no R
# Criando uma coluna indicando se o salário é acima da média
media_salario <- mean(data$Salario, na.rm = TRUE)
data <- data %>%
  mutate(Salario_Acima_Media = Salario > media_salario)

Transformando Dados Longos em Largos

Podemos transformar dados de formato longo para formato largo usando a função spread do pacote tidyr:

# Limpar e Transformar Dados no R
# Transformando dados longos em largos
data_long <- data %>%
  gather(key = "Variavel", value = "Valor", -Nome)

data_largo <- data_long %>%
  spread(key = "Variavel", value = "Valor")

Visualizando Dados Limpos e Transformados

Criando Gráficos com ggplot2

Podemos usar o ggplot2 para visualizar os dados limpos e transformados:

# Limpar e Transformar Dados no R
# Criando um gráfico de barras da distribuição dos salários
ggplot(data, aes(x = Nome, y = Salario, fill = Salario_Acima_Media)) +
  geom_bar(stat = "identity") +
  ggtitle('Distribuição de Salários') +
  xlab('Nome') +
  ylab('Salário')

Salvando Dados Limpos

Salvando Dados em um Arquivo CSV

Podemos salvar os dados limpos e transformados em um arquivo CSV usando o write_csv:

# Limpar e Transformar Dados no R
# Salvando os dados em um arquivo CSV
write_csv(data, "dados_limpos.csv")

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 transformar dados com o pacote tidyverse 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 limpeza e transformaçã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 limpar e transformar dados no 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