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.
é equivalente à executar o comando:
"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 RStudio, Hadley 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
O 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.
O 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.
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.
O 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.
O 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.
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 %>%.
O criador do Tidyverse é também escritor do livro R for Data Science, excelente 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.