O pacote dplyr
“dplyr é uma gramática para a manipulação de dados, oferecendo uma série de verbos consistentes que ajudam você a resolver os principais desafios de manipulação de dados e tabelas no R” (https://dplyr.tidyverse.org)
select()
Neste tutorial iremos aprender a usar o verbo select()
(selecionar).
A função select()
seleciona e mantém apenas as variáveis que você deseja em uma
tabela de dados. Variáveis são as colunas do sua tabela no R (data.frame).
Exemplo: selecionar algumas variáveis da tabela
A tabela abaixo possui 11 colunas!
mtcars <- as_tibble(mtcars) # Para o print ficar melhor
head(mtcars)
## # A tibble: 6 x 11
## mpg cyl disp hp drat wt qsec vs am gear carb
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 21 6 160 110 3.9 2.62 16.5 0 1 4 4
## 2 21 6 160 110 3.9 2.88 17.0 0 1 4 4
## 3 22.8 4 108 93 3.85 2.32 18.6 1 1 4 1
## 4 21.4 6 258 110 3.08 3.22 19.4 1 0 3 1
## 5 18.7 8 360 175 3.15 3.44 17.0 0 0 3 2
## 6 18.1 6 225 105 2.76 3.46 20.2 1 0 3 1
Suponha que você quer selecionar apenas as colunas: mpg
, cyl
e wt
da
tabela mtcars
.
Comando usual
mtcars[, c("mpg","cyl","wt")]
## # A tibble: 32 x 3
## mpg cyl wt
## <dbl> <dbl> <dbl>
## 1 21 6 2.62
## 2 21 6 2.88
## 3 22.8 4 2.32
## 4 21.4 6 3.22
## 5 18.7 8 3.44
## 6 18.1 6 3.46
## 7 14.3 8 3.57
## 8 24.4 4 3.19
## 9 22.8 4 3.15
## 10 19.2 6 3.44
## # ... with 22 more rows
Com dplyr
e o verbo select()
select(mtcars, mpg, cyl, wt)
## # A tibble: 32 x 3
## mpg cyl wt
## <dbl> <dbl> <dbl>
## 1 21 6 2.62
## 2 21 6 2.88
## 3 22.8 4 2.32
## 4 21.4 6 3.22
## 5 18.7 8 3.44
## 6 18.1 6 3.46
## 7 14.3 8 3.57
## 8 24.4 4 3.19
## 9 22.8 4 3.15
## 10 19.2 6 3.44
## # ... with 22 more rows
A principal vantagem do uso da função select()
é que você não precisa colocar
o nome das variáveis entre “aspas”, o que torna o comando mais fácil e rápido.
Excluir colunas
Para excluir colinas de uma tabela e manter todas as outras, utilize o sinal
-
na frente do nome da coluna.
select(mtcars, -mpg, -cyl, -wt)
## # A tibble: 32 x 8
## disp hp drat qsec vs am gear carb
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 160 110 3.9 16.5 0 1 4 4
## 2 160 110 3.9 17.0 0 1 4 4
## 3 108 93 3.85 18.6 1 1 4 1
## 4 258 110 3.08 19.4 1 0 3 1
## 5 360 175 3.15 17.0 0 0 3 2
## 6 225 105 2.76 20.2 1 0 3 1
## 7 360 245 3.21 15.8 0 0 3 4
## 8 147. 62 3.69 20 1 0 4 2
## 9 141. 95 3.92 22.9 1 0 4 2
## 10 168. 123 3.92 18.3 1 0 4 4
## # ... with 22 more rows
Selecionar colunas por nome
As funções starts_with()
, ends_with()
e contains()
podem ser utilizadas em conjunto com
select()
para selecionar apenas as colunas que começam ou terminam com um determinado padrão.
- Seleciona colunas que começam com a letra “m”.
select(mtcars, starts_with("m"))
## # A tibble: 32 x 1
## mpg
## <dbl>
## 1 21
## 2 21
## 3 22.8
## 4 21.4
## 5 18.7
## 6 18.1
## 7 14.3
## 8 24.4
## 9 22.8
## 10 19.2
## # ... with 22 more rows
- Seleciona colunas que terminam com a letra “t”.
select(mtcars, ends_with("t"))
## # A tibble: 32 x 2
## drat wt
## <dbl> <dbl>
## 1 3.9 2.62
## 2 3.9 2.88
## 3 3.85 2.32
## 4 3.08 3.22
## 5 3.15 3.44
## 6 2.76 3.46
## 7 3.21 3.57
## 8 3.69 3.19
## 9 3.92 3.15
## 10 3.92 3.44
## # ... with 22 more rows
- Seleciona colunas que contém com a letra “a”.
select(mtcars, contains("g"))
## # A tibble: 32 x 2
## mpg gear
## <dbl> <dbl>
## 1 21 4
## 2 21 4
## 3 22.8 4
## 4 21.4 3
## 5 18.7 3
## 6 18.1 3
## 7 14.3 3
## 8 24.4 4
## 9 22.8 4
## 10 19.2 4
## # ... with 22 more rows
Mover uma coluna para a primeira posição
Selecione uma coluna e depois adicione todas as outras com everything()
.
select(mtcars, mpg, everything())
## # A tibble: 32 x 11
## mpg cyl disp hp drat wt qsec vs am gear carb
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 21 6 160 110 3.9 2.62 16.5 0 1 4 4
## 2 21 6 160 110 3.9 2.88 17.0 0 1 4 4
## 3 22.8 4 108 93 3.85 2.32 18.6 1 1 4 1
## 4 21.4 6 258 110 3.08 3.22 19.4 1 0 3 1
## 5 18.7 8 360 175 3.15 3.44 17.0 0 0 3 2
## 6 18.1 6 225 105 2.76 3.46 20.2 1 0 3 1
## 7 14.3 8 360 245 3.21 3.57 15.8 0 0 3 4
## 8 24.4 4 147. 62 3.69 3.19 20 1 0 4 2
## 9 22.8 4 141. 95 3.92 3.15 22.9 1 0 4 2
## 10 19.2 6 168. 123 3.92 3.44 18.3 1 0 4 4
## # ... with 22 more rows
Mover uma coluna para a última posição
Primeiro remova a coluna com -mpg
depois adicione novamente.
select(mtcars, -mpg, mpg)
## # A tibble: 32 x 11
## cyl disp hp drat wt qsec vs am gear carb mpg
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 6 160 110 3.9 2.62 16.5 0 1 4 4 21
## 2 6 160 110 3.9 2.88 17.0 0 1 4 4 21
## 3 4 108 93 3.85 2.32 18.6 1 1 4 1 22.8
## 4 6 258 110 3.08 3.22 19.4 1 0 3 1 21.4
## 5 8 360 175 3.15 3.44 17.0 0 0 3 2 18.7
## 6 6 225 105 2.76 3.46 20.2 1 0 3 1 18.1
## 7 8 360 245 3.21 3.57 15.8 0 0 3 4 14.3
## 8 4 147. 62 3.69 3.19 20 1 0 4 2 24.4
## 9 4 141. 95 3.92 3.15 22.9 1 0 4 2 22.8
## 10 6 168. 123 3.92 3.44 18.3 1 0 4 4 19.2
## # ... with 22 more rows
Dicas e sugestões?
Tem alguma crítica? Sugestão? Deixe um comentário ;)
Até a próxima aventura =)