Data Science, R

O pacote Tidyverse para R

 

O Tidyverse é uma coleção de pacotes do R que, em conjunto, formam um eficiente sistema para importação, manipulação, exploração e visualização de dados.

Em outras palavras, carregar o pacote Tidyverse é carregar de uma só vez todo um conjunto de ferramentas necessárias para um processo de análise de dados.

Executar o comando:

 install.packages("tidyverse") 

é equivalente à executar o comando:

install.packages(c(
"broom", "dplyr", "feather",
"forcats","ggplot2", "haven",
"httr", "hms", "jsonlite",
"lubridate", "magrittr",
"modelr", "purrr", "readr",
"readxl", "stringr", "tibble",
"rvest", "tidyr", "xml2"
))

Ou seja, de uma só vez, o Tidyverse carrega os 20 pacotes que são utilizados em praticamente qualquer análise de dados com o R.

Desenvolvido principalmente pelo cientista-chefe do RStudioHadley Wickham, e por mais uma série de colaboradores, os pacotes do tidyverse dão ao programador uma maior produtividade, pois fornecem funções que facilitam (e muito) o fluxo de trabalho.

Em essência, o Tidyverse se trata das conexões entre as ferramentas que tornam o fluxo de trabalho possível.

 

O Tidyverse em cada etapa de uma análise de dados

 

O Tidy, da palavra Tidyverse, significa organizar; arrumar; limpar; deixar em ordem.

A expressão “Tidy data” (organizar os dados) descreve o ato de estruturar bancos de dados para tornar mais fácil a realização de análises e visualizações de dados. No caso do Tidyverse, a manipulação dos dados é, em geral, para datasets em formato retangular, ou seja, no formato linhas e colunas.

Mas o Tidyverse, como já dito, traz um conjunto de pacotes utilizáveis em todo um processo de análise de dados. Podemos resumir um fluxo de trabalho em Ciência de Dados de acordo com a imagem a seguir:

 

 

Tendo a imagem acima como referência, a imagem a seguir mostra os pacotes incluídos no Tidyverse para cada uma das etapas do fluxo de trabalho:


Os pacotes que formam o núcleo do Tidyverse

 

 

ggplot2 é o mais popular pacote para visualização de dados do R. Com ele, é possível criar gráficos incríveis nos mais diversos formatos.

Há uma infinidade de possíveis cruzamentos de dados para geração de gráficos com o ggplot. Mas, em geral, o código para criar um gráfico segue o seguinte formato:

Especifica-se o seu dataset como argumento da função ggplot(), e em seguida especificam-se as variáveis a serem exibidas, como argumentos da função aes(). Por exemplo: ggplot(DATASET, aes(VARIAVEL1, VARIAVEL2)).

Em seguida, define-se o tipo de gráfico a ser utilizado. Em geral, os nomes das funções para gráficos começam com geom_ (por exemplo, geom_point() é para um gráfico de dispersão).

Há ainda diversas outras funções para definir escalas, especificações e sistemas de coordenadas.

Explore o pacote vendo a lista das funções que aparece ao digitar o comando ggplot2::

Consulte também as referências para o ggplot feito pelo próprio criador do Tidyverse neste link.

 

 

 

dplyr traz excelentes funções para manipulação e transformação de dados.

O criador do Tidyverse escreveu um capítulo no livro R for Data Science exclusivo sobre este pacote, confira aqui.

As principais funções do dplyr são:

  • mutate( ) cria novas varíaveis que são funções de variáveis já existentes.
  • select( ) permite selecionar as variáveis que se deseja trabalhar e assim criar um novo dataset.
  • filter( ) realiza a mesma função dos filtros do Excel, selecionar as linhas por um critério definido.
  • summarise( ) gera valores resumo de um agrupamento dos dados (ex: pela média, por quantis, etc.).
  • arrange( ) edita a ordem das linhas de acordo com um critério.

 

tidyr é feito para colocar o seu banco de dados em ordem, deixá-lo ordenado. Ou seja:

Cada variável está em uma coluna;

Cada observação está em uma linha; e

Cada valor está em uma célula.

 

 

 

 

 

O tidyr é um dos primeiros pacotes a serem utilizados em uma análise de dados. Se você “limpa” o seu banco de dados logo no início, você já se previne de possíveis problemas que podem aparecer na hora em que começar a manipular os dados.

As principais funções do tidyr são:

  • gather( ) para união de colunas, no caso em que informações de uma mesma variável estão divididas em diferentes colunas.
  • spread( ) para divisão de colunas, no caso em que informações de diferentes variáveis estão em uma mesma coluna.

Veja mais sobre o tidyr neste link.

 

readr é o pacote para importação de dados.

É um pacote feito para importar dados do tipo retangular (linhas e colunas) para diferentes formatos de arquivos, sendo um pacote bastante flexível.

Ainda que o RStudio possua um espaço no environment para importar dados no clique, o readr se faz útil em muitas ocasiões.

Aprenda mais sobre o pacote neste link.

 

O purrr possui um conjunto de ferramentas para programação funcional  dentro do R, fornecendo um conjunto completo de ferramentas para se trabalhar com funções e vetores.

Para começar a se trabalhar com programação funcional, o conjunto de funções map( ) é uma ótima referência.

Veja mais sobre as funções map( ) neste link.

 

tibble, além do nome do pacote, é um tipo diferente e moderno para bancos de dados (datasets). A funcionalidade de um tibble é que ele te força a confrontar problemas no seu banco de dados logo no início, te levando a organizá-lo e a escrever códigos mais expressivos.

Veja mais sobre tibbles neste link.


O operador pipe %>%

 

Uma das grandes vantagens do Tidyverse, é que ele traz o operador %>%, chamado de pipe, do pacote magrittr.

Este é um operador incrivelmente útil, pois torna dispensável a escrita de comandos multi-operacionais e permite “desfragmentar” as funções de um comando em partes. Isso torna o código mais fácil para escrever e para ler.

O operador pipe leva a função do lado esquerdo e a carrega para a função do lado direito. O operador, literalmente, deixa a primeira função como argumento da função seguinte.

A imagem a seguir exemplifica a função do operador pipe, mostrando que os dois comandos são equivalentes.

 

Se você pensa na palavra “obtenha” ao utilizar o operador <- ,  você pode pensar na palavra “então” para o operador %>%.

 

Para ir além

 

O criador do Tidyverse é também escritor do livro R for Data Scienceexcelente material para aprendizado de programação em R, que possui foco especial nos pacotes e funções carregadas pelo Tidyverse.

Você também pode encontrar muitos tutoriais no Kaggle, além de uma grande quantidade de datasets para colocar em prática o seu aprendizado com o Tidyverse. Caso queira colocar em prática com dados gerados por você mesmo, veja este artigo sobre como minerar dados do Facebook com o R.

 


 

Espero que este artigo lhe tenha sido útil e que você possa tirar grande proveito das dicas que citei aqui.

Boas análises e até a próxima!

  • Parabéns pelo blog!
    Apenas um adendo: o pacote tidyverse instala/ carrega apenas os 6 pacotes principais (ggplot2, dplyr, tidyr, readr, purrr, tibble)

    • projetojgl

      Olá Enoch, obrigado pelo comentário!
      Ao instalar ou carregar o tidyverse, apenas os 6 principais que aparecem no console. Mas repare que na sua lista de pacotes todos os outros são inclusos, como o magrittr que traz o operador %>%.
      O tidyverse carrega pacotes que carregam outros pacotes, e em alguns casos até datasets, por exemplo o ggplot2 que traz o datasets “diamonds”.

    • Olá Enoch, obrigado pelo comentário!
      Ao instalar ou carregar o tidyverse, apenas os 6 principais que aparecem no console. Mas repare que na sua lista de pacotes todos os outros são inclusos, como o magrittr que traz o operador %>%.
      O tidyverse carrega pacotes que carregam outros pacotes, e em alguns casos até datasets, por exemplo o ggplot2 que traz o datasets “diamonds”.