Tidyverse: o que é, como usá-lo e benefícios
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.
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
- Conteúdo: Beatriz Magalhães
- Produção técnica: Rodrigo Dias
- Produção didática: Tiago de Freitas
- Designer gráfico: Alysson Manso
- Apoio: Rômulo Henrique