Tidyverse: o que é, como usá-lo e benefícios

Tidyverse: o que é, como usá-lo e benefícios
Beatriz Magalhães
Beatriz Magalhães

Compartilhe

Se você utiliza a linguagem R ou está começando a aprender sobre ela, já deve ter notado o universo de possibilidades que essa linguagem nos oferece.

Assim como outras linguagens de programação, a linguagem R possui pacotes de código aberto que podem incluir um leque de funções muito interessantes, principalmente para trabalhar com dados, como é o caso do Tidyverse.

Então, vem comigo, pois neste artigo vamos explorar o que é o Tidyverse, os principais pacotes disponíveis atualmente e, claro, tudo sobre como utilizá-los e o quanto ele pode ser útil no seu dia a dia de trabalho e estudos usando a linguagem R.

O que é Tidyverse

O Tidyverse é um conjunto de pacotes de código aberto para a linguagem R projetado para ciência de dados.

Ele foi desenvolvido para facilitar a manipulação, exploração e visualização de dados de uma maneira consistente e intuitiva.

Os pacotes do Tidyverse compartilham uma filosofia comum de design e trabalham bem juntos, proporcionando uma experiência mais integrada para o usuário.

Existem vários pacotes disponíveis no Tidyverse, mas alguns deles são mais utilizados, então, vamos explorar esses pacotes e como podemos utilizá-los.

Banner da promoção da black friday, com os dizeres: A Black Friday Alura está chegando. Faça parte da Lista VIP, receba o maior desconto do ano em primeira mão e garanta bônus exclusivos. Quero ser VIP

Principais pacotes e como utilizá-los

Os principais pacotes do Tidyvese são:

ggplot2

Esse pacote é utilizado para a visualização de dados. Ele é um sistema para a criação de visualizações que permite a elaboração de gráficos complexos de maneira intuitiva.

Você fornece os dados, descreve como deseja que as variáveis fiquem, esteticamente falando, quais tipos de gráficos utilizar e o ggplot2 cuida dos detalhes.

Vou deixar aqui o link da documentação do ggplot2 e também a referência das formas de utilização na linguagem R.

Poderíamos pedir, por exemplo, para criar um conjunto de dados de exemplo e usar esse conjunto para criar um gráfico de dispersão dessa forma:

library(ggplot2)

### Criar um conjunto de dados exemplo

data <- data.frame(
  x = rnorm(100),
  y = rnorm(100)
)

### Criar um gráfico de dispersão

ggplot(data, aes(x = x, y = y)) +
  geom_point() +
  labs(title = "Gráfico de Dispersão")

dplyr

Esse pacote disponibiliza um conjunto de ferramentas para manipulação de dados, oferecendo uma sintaxe clara e concisa para operações como filtragem, seleção, agrupamento e resumo de dados.

Ele oferece uma série de funções chamadas "verbos", que representam operações comuns de manipulação de dados (filter, select etc.).

Deixo aqui o link da documentação do dplyr e também as referências utilizando o pacote com a linguagem R.

No exemplo abaixo, usamos o dplyr para filtrar e sumarizar os dados de um data frame exemplo que foi criado:

library(dplyr)

### Criar um data frame exemplo

data <- data.frame(
  grupo = rep(c("A", "B"), each = 5),
  valor = c(10, 20, 15, 25, 30, 5, 10, 15, 20, 25)
)

### Filtrar e sumarizar os dados

resumo <- data %>%
  filter(valor > 15) %>%
  group_by(grupo) %>%
  summarise(media_valor = mean(valor))

print(resumo)

tidyr

Esse pacote foi projetado para ajudar na organização e transformação de dados em formatos "tidy" (arrumados).

Dados "tidy" são aqueles onde cada variável está em uma coluna, cada observação está em uma linha e cada valor está em uma célula. Manter os dados nesse formato facilita a análise e a visualização.

Aqui vou deixar a documentação do tidyr e também as referências de sua utilização na linguagem R .

Como nesse exemplo, que transformamos um data frame criado em formato “tidy”, ou seja, organizado:


library(tidyr)

### Criar um data frame exemplo

data <- data.frame(
  id = 1:3,
  tratamento_A = c(NA, 3, 1),
  tratamento_B = c(2, NA, 4)
)

### Transformar o data frame em formato tidy

data_tidy <- data %>%
  pivot_longer(cols = starts_with("tratamento"), names_to = "tratamento", values_to = "resultado")

print(data_tidy)

readr

Esse pacote facilita a leitura de arquivos CSV, TSV e outros formatos comuns de dados tabulares, auxiliando no processo de importação de dados.

Se quiser acesse também a documentação do readr e as referências de sua utilização na linguagem R .

No exemplo abaixo utilizamos o readr para ler um arquivo CSV:

Dica: para testar esse código no seu ambiente adicione um arquivo CSV no local indicado entre parênteses.

library(readr)

Ler um arquivo CSV (substitua 'caminho/para/arquivo.csv' pelo caminho real do arquivo)
dados <- read_csv('caminho/para/arquivo.csv')

### Mostrar os primeiros registros

print(head(dados))

purrr

Melhora o conjunto de ferramentas de programação funcional do R ao oferecer uma coleção abrangente e coerente de recursos para manipular funções e vetores.

Uma vez que você entenda os conceitos fundamentais, o purrr possibilita a substituição de muitos loops for por um código que é mais simples de escrever e mais legível.

Deixo aqui a documentação do purrr e também o link com as referências de sua utilização na linguagem R.

No código abaixo, criamos uma lista de números e aplicamos uma função a cada elemento da lista:

library(purrr)

### Criar uma lista de números

numeros <- list(1, 2, 3, 4, 5)

### Aplicar uma função a cada elemento da lista

resultados <- map(numeros, function(x) x^2)

print(resultados)

tibble

Responsável pela criação de data frames modernos, que são mais eficientes e oferecem uma melhor experiência de impressão e ajudam a manter um código mais limpo e legível.

Acesse também a documentação do tibble e também o link com as referências de sua utilização em R.

Com o código abaixo, por exemplo, criamos um “tibble”, ou seja, um data frame moderno:

library(tibble)

### Criar um tibble

data <- tibble(
  x = 1:5,
  y = 6:10
)

### Mostrar o tibble

print(data)

stringr

O stringr disponibiliza um conjunto de funções criadas para deixar o trabalho com strings o mais fácil possível, trazendo uma abordagem consistente e intuitiva para trabalharmos com textos.

Conheça também a documentação do stringr e as referências de sua utilização em R .

No exemplo abaixo conseguimos contar o número de palavras em uma string criada:

library(stringr)

### Criar uma string
texto <- "R é uma linguagem de programação para ciência de dados"

### Contar o número de palavras na string
num_palavras <- str_count(texto, boundary("word"))

print(num_palavras)

forcats

Esse pacote possui um conjunto de ferramentas que resolvem problemas comuns com fatores. Na linguagem R, usamos fatores para lidar com variáveis categóricas, variáveis que têm um conjunto fixo e conhecido de valores possíveis.

Deixo aqui a documentação do forcats e também as referências de sua utilização em R .

Um exemplo é o código abaixo, onde criamos um fator e reordenamos os níveis do fator com forcats:

library(forcats)

### Criar um fator
fator <- factor(c("baixa", "alta", "média", "baixa", "alta"))
print(fator)

### Reordenar os níveis do fator

fator_reordenado <- fct_relevel(fator, "baixa", "média", "alta")
print(fator_reordenado)

Além desses principais pacotes do Tidyverse, existem vários outros pacotes com outras funcionalidades interessantes, se quiser explorar ainda mais você pode acessar o site Tidyverse.org onde você encontra o passo a passo para instalar todos os pacotes além de informações que vão te ajudar a usá-los na prática.

Conclusão

Durante este artigo, conseguimos explorar o Tidyverse, esse conjunto de pacotes de código aberto para a linguagem R, que possui várias funcionalidades legais para a área de ciência de dados.

Nesse sentido, passamos por alguns tópicos como:

  • O que é Tidyverse;
  • Quais os principais pacotes;
  • Como você pode utilizar cada um desses pacotes na prática.

Se você curtiu e gostaria de aprofundar ainda mais seus conhecimentos na linguagem R, de uma forma mais focada para ciência de dados, conheça a nossa formação R para Data Science. Te espero por lá!

Créditos

Beatriz Magalhães
Beatriz Magalhães

Beatriz é formada em Análise e Desenvolvimento de Sistemas. Faz parte do time de instrutores na escola de Data Science, tem focado seus estudos na área de banco de dados, SQL e Business Intelligence e ama explorar diferentes softwares de visualização de dados. É muito curiosa e adora aprender coisas novas e compartilhar com outras pessoas.

Veja outros artigos sobre Data Science