10.1 Reformatar tabelas
O pacote tidyr é mais um dos pacotes criados por Hadley Wickham. Este fato, por si só, já traz algumas vantagens: ele se integra perfeitamente com o dplyr, usando o conector %>%, e tem a sintaxe de suas funções bastante intuitiva.
O tidyr também tem suas funções organizadas em pequenos verbetes, onde cada um representa uma tarefa para organizar os dados.
10.1.1 Pivot longer
A função pivot_longer(), antiga gather(), transforma dados de formato “largo” para formato “longo”. Em um formato longo, uma única coluna contém todos os valores de variáveis diferentes, enquanto outra coluna contém os nomes dessas variáveis.
Vamos o utilizar a base de dados adulto2, que traz a ocupação e o sexo de uma lista de indivíduos.
O argumento cols= controla quais colunas serão (ou não serão) transformadas.
O argumento names_to= controla o nome da nova coluna que irá receber os nomes das colunas transpostas.
O argumentos values_to= controla o nome da nova coluna que irá receber os valores das colunas transpostas
## # A tibble: 24 × 3
## Occupation sexo quantidade
## <chr> <chr> <int>
## 1 Adm-clerical Female 11
## 2 Adm-clerical Male 7
## 3 Craft-repair Female 2
## 4 Craft-repair Male 23
## 5 Exec-managerial Female 11
## 6 Exec-managerial Male 15
## 7 Farming-fishing Female 0
## 8 Farming-fishing Male 3
## 9 Handlers-cleaners Female 0
## 10 Handlers-cleaners Male 10
## # ℹ 14 more rows
10.1.2 Pivot wider
É a operação antagônica do pivot_longer(), transformando dados de formato “longo” para formato “largo”. Em um formato largo, cada valor de variável única tem sua própria coluna.
Vamos utilizar o dataframe us_rent_income, que já vem integrado ao tidyr.
O argumento names_from= controla de qual coluna serão criados os nomes das novas colunas
O argumento values_from= controla as colunas cujos valores serão os valores das novas colunas
## # A tibble: 52 × 6
## GEOID NAME estimate_income estimate_rent moe_income moe_rent
## <chr> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 01 Alabama 24476 747 136 3
## 2 02 Alaska 32940 1200 508 13
## 3 04 Arizona 27517 972 148 4
## 4 05 Arkansas 23789 709 165 5
## 5 06 California 29454 1358 109 3
## 6 08 Colorado 32401 1125 109 5
## 7 09 Connecticut 35326 1123 195 5
## 8 10 Delaware 31560 1076 247 10
## 9 11 District of Columbia 43198 1424 681 17
## 10 12 Florida 25952 1077 70 3
## # ℹ 42 more rows