Organização de dados com dplyr

Transforme e resuma dados com dplyr no R

Aprenda a manipular e transformar dados com eficiência usando dplyr. Este tutorial abrange funções essenciais, como filter(), select(), mutate(), group_by() e summarize(), para otimizar suas tarefas de manipulação de dados no R.

Programação
Autor
Afiliação
Data de Publicação

10 de fevereiro de 2024

Data de Modificação

29 de abril de 2025

Palavras-chave

Tutorial dplyr, Organização de dados em R, Manipulação de dados tidyverse, R dplyr, Transformação de dados em R

Introdução

dplyr é um dos pacotes principais do tidyverse que torna a manipulação de dados no R rápida e intuitiva. Com sua sintaxe direta e verbos poderosos, dplyr permite filtrar, selecionar, mutar, agrupar e resumir seus dados com o mínimo de código. Neste tutorial, você aprenderá como transformar e resumir conjuntos de dados usando dplyr, juntamente com exemplos práticos para ilustrar seus recursos.



Funções-chave dplyr

dplyr fornece um conjunto de funções — frequentemente chamadas de “verbos” — que formam a base da manipulação de dados no R. Aqui estão alguns dos mais importantes:

  • filter(): Subconjunto de linhas com base em condições.
  • select(): Escolha colunas com base em nomes ou padrões.
  • mutate(): Crie novas colunas ou modifique as existentes.
  • group_by(): Agrupe os dados para operações de resumo.
  • summarize(): Calcule estatísticas resumidas para dados agrupados.

Exemplos práticos

Exemplo 1: Filtragem e seleção de dados

Vamos usar o conjunto de dados mtcars integrado para filtrar carros com mais de 6 cilindros e selecionar apenas as colunas de milhas por galão (mpg), number of cylinders (cyl), and horsepower (hp).

library(dplyr)

# Filtre o conjunto de dados para carros com mais de 6 cilindros e selecione colunas específicas
filtered_data <- mtcars %>%
  filter(cyl > 6) %>%
  select(mpg, cyl, hp)

print(filtered_data)
                     mpg cyl  hp
Hornet Sportabout   18.7   8 175
Duster 360          14.3   8 245
Merc 450SE          16.4   8 180
Merc 450SL          17.3   8 180
Merc 450SLC         15.2   8 180
Cadillac Fleetwood  10.4   8 205
Lincoln Continental 10.4   8 215
Chrysler Imperial   14.7   8 230
Dodge Challenger    15.5   8 150
AMC Javelin         15.2   8 150
Camaro Z28          13.3   8 245
Pontiac Firebird    19.2   8 175
Ford Pantera L      15.8   8 264
Maserati Bora       15.0   8 335

Exemplo 2: Mutando e resumindo dados

Neste exemplo, adicionaremos uma nova coluna que calcula a relação potência/peso e, em seguida, resumiremos os dados agrupando-os com base no número de cilindros.

library(dplyr)

# Adicione uma nova coluna para a relação potência/peso e resuma a média de mpg por número de cilindros
summary_data <- mtcars %>%
  mutate(power_to_weight = hp / wt) %>%
  group_by(cyl) %>%
  summarize(
    avg_mpg = mean(mpg),
    avg_power_to_weight = mean(power_to_weight)
  )

print(summary_data)
# A tibble: 3 × 3
    cyl avg_mpg avg_power_to_weight
  <dbl>   <dbl>               <dbl>
1     4    26.7                37.9
2     6    19.7                39.9
3     8    15.1                53.9

Exemplo 3: Encadeamento de vários verbos dplyr

Este exemplo demonstra como encadear várias operações dplyr para realizar uma transformação de dados abrangente.

library(dplyr)

# Encadeie várias operações: filtre, selecione e mute
transformed_data <- mtcars %>%
  filter(mpg > 20) %>%
  select(mpg, cyl, disp, hp) %>%
  mutate(efficiency = mpg / disp)

print(transformed_data)
                mpg cyl  disp  hp efficiency
Mazda RX4      21.0   6 160.0 110 0.13125000
Mazda RX4 Wag  21.0   6 160.0 110 0.13125000
Datsun 710     22.8   4 108.0  93 0.21111111
Hornet 4 Drive 21.4   6 258.0 110 0.08294574
Merc 240D      24.4   4 146.7  62 0.16632584
Merc 230       22.8   4 140.8  95 0.16193182
Fiat 128       32.4   4  78.7  66 0.41168996
Honda Civic    30.4   4  75.7  52 0.40158520
Toyota Corolla 33.9   4  71.1  65 0.47679325
Toyota Corona  21.5   4 120.1  97 0.17901749
Fiat X1-9      27.3   4  79.0  66 0.34556962
Porsche 914-2  26.0   4 120.3  91 0.21612635
Lotus Europa   30.4   4  95.1 113 0.31966351
Volvo 142E     21.4   4 121.0 109 0.17685950

Práticas recomendadas

  • Use o operador pipe %>%:
    Este operador ajuda a encadear várias operações, tornando seu código mais legível.

  • Escreva código claro e descritivo:
    Use nomes de variáveis significativos e adicione comentários quando necessário.

  • Teste incrementalmente:
    Crie suas transformações de dados passo a passo e verifique os resultados intermediários para garantir que seu código funcione conforme o esperado.

Conclusão

O dplyr simplifica o processo de manipulação de dados no R, permitindo que você transforme e resuma conjuntos de dados com um código mínimo e intuitivo. Ao dominar as funções principais — filter, select, mutate, group_by e summarize —, você pode otimizar seus fluxos de trabalho de preparação de dados e preparar seus dados de maneira eficaz para análise ou visualização posterior.

Leitura adicional

Boa programação e aproveite para transformar seus dados com dplyr!

Explore mais artigos

Nota

Aqui estão mais artigos da mesma categoria para ajudá-lo a se aprofundar no tópico.

De volta ao topo

Reuso

Citação

BibTeX
@online{kassambara2024,
  author = {Kassambara, Alboukadel},
  title = {Organização de dados com dplyr},
  date = {2024-02-10},
  url = {https://www.datanovia.com/pt/learn/programming/r/data-science/data-wrangling-with-dplyr.html},
  langid = {pt}
}
Por favor, cite este trabalho como:
Kassambara, Alboukadel. 2024. “Organização de dados com dplyr.” February 10, 2024. https://www.datanovia.com/pt/learn/programming/r/data-science/data-wrangling-with-dplyr.html.