5 principais funções do "Dplyr", o canivete suíço do R que salva vidas e empregos!
Para mim, o principal pacote da linguagem R atualmente é o famoso Dplyr que embora não seja tão famoso quanto o Silvio Santos é bem conhecido até, principalmente fora do nosso país. Esse pacote é conhecido não só por suas funcionalidades muito fáceis de usar, mas também por sua compatibilidade com a computação em larga escala (via Spark) que permite processar grandes bases de dados com vários processadores (escalabilidade vertical) e também em várias máquinas (escalabilidade horizontal). A parte da larga escala deixarei para outro artigo, vamos nos ater ao arroz com feijão. Portanto, neste artigo mostro as 5 principais funções que qualquer cientista de dados deve domar.
Antes de começar, vamos fazer de conta (make believe) que temos uma planilha com os dados de todas as cidades do mundo, até de Fraiburgo, minha cidade natal. Cada linha da planilha representa uma cidade e cada coluna uma característica dela. Então vamos lá:
01 - Filtrar coisas
- Problema - Não quero ver os dados do mundo todo, quero apenas do Brasil.
- Solução - Filtrar dados do Brasil.
- Demonstração: dadosDoBrasil <- filter(dadosDoMundo, país == "Brasil").
02 - Selecionar variáveis (colunas)
- Problema - Tenho um monte de colunas que não tem nada a ver com meu estudo sobre o Brasil. Queria selecionar 3 colunas.
- Solução - Usar a função select especificando quais colunas você quer. Essa função é tão poderosa que você pode informar somente quais não quer, usando um sinal de menos "-" na frente do nome da coluna. Demonstro abaixo os dois cenários.
- Demonstração -
dadosDoBrasil <- select(dadosDoBrasil, coluna2, coluna7, coluna15) *a ordem fica assim como está sendo escrito.
Agora suponha que você quer todas as colunas menos a coluna4 então fica assim:
dadosDoBrasil <- select(dadosDoBrasil, -coluna4)
Atenção ao truque extra (meia lua pra frente soco forte) - Imagina que você quer 3 colunas e depois da última todo o resto a partir destas 3. Aí que entra um pulo do gato a função everything(). Vamos ver como fica então?
dadosDoBrasil <- select(dadosDoBrasil, coluna3, coluna4, coluna6, everything().
03 - Criar novas colunas (variáveis) ou alterar as que existem
- Problema: Quero criar uma coluna dizendo a seguinte frase "Oi Brasil" já que todas as linhas são do Brasil.
- Solução: Usar a função mutate (que tem um nome meio estranho, mas funciona bem até). Vamos lá.
- Demonstração:
dadosDobrasil <- mutate(dadosDoBrasil, nomeDaNovaColuma = "Oi Brasil") *o conteúdo que será adicionado em cada linha será o texto "Oi Brasil" mas poderia ser também somas, multiplicações com informações de outras colunas. Esse é um tópico par outra publicação.
04 - Colocar os dados em ordem
- Problema: Supondo que uma das colunas seje, aliás "seja" (salvo pelo corretor hehe) a população da cidade e eu quero colocar as menos populosas no início da coisa toda e depois inverter, colocando elas em primeiro no ranking.
- Solução: Usar a função arrange(), com a opção desc() para inverter a ordem.
- Demonstração:
dadosDoBrasil <- arrange(dadosDoBrasil, variávelPopulação)
ou
dadosDoBrasil <- arrange(dadosDoBrasil, desc(variávelPopulação)
05 - Agrupar e sumarizar
- Problema: Quero agrupar todos os municípios do Brasil por estado, ao invés de olhar para cada linha como um município. O problema é, como transformar 5 mil e poucas linhas em 27 sem perder a informação de cada uma?
- Solução: Usar a função group_by() e summarise(). *Atenção esse processo de pivotagem - agregação e tal é onde se separa os homens dos meninos e as mulheres das meninas. É necessário paciência e umas boas cuias de chimarrão para assimilar!
- Demonstração:
dadosDosEstados <- group_by(dadosDoBrasil, variávelEstado) * Os dados em si ainda não mudaram. Isso só vai ocorrer agora que vamos dizer qual a regra de sumarização, neste caso, vamos somar toda a população de cada município.
dadosDosEstados <- summarise(dadosDosEStados, populacaoTotalDoEstado = sum(populacao).
Bom, galerinha por hora é isso. Tentei ser o mais breve possível com o canivete do R chamado "dplyr". O que tenho a dizer é que as possibilidades são muito grandes aos profissionais que souberem resolver problemas de negócio com essas funcionalidades.
Para outros artigos sobre ciência de dados, dá uma conferida no nosso blog da Aquarela Advanced Analytics - www.aquare.la - isso mesmo, sem ".com.br"
Saludaciones a todos! (não existe, mas é uma palavra legal!)
Referência com códigos reais - https://dplyr.tidyverse.org/?fbclid=IwAR0WoizSL_PX4plo3qtixIBaL_DoF8q4dRwtdqfUbNj05I2N0OFmOUdZQ6E
Assistente de Políticas Públicas
6 aExcelente!
UnB - Data Scientist | Data Engineer | Machine/Deep Learning Engineer | Data Analyst
6 aSensacional..
Student at dsadassadasd
6 aMuito massa.
Python | R | ETL | Data Architect | SQL
6 aBom dia, Joni Hoppe. No item 3, quando cria nova coluna, na demonstração tem "novacoluma". Está correto? Esse seria o "meio estranho"?