3.7 Ordenando dados
A função arrange do pacote dplyr é usada para ordenar as linhas de um data frame com base em uma ou mais colunas. O comando arrange permite que você organize seus dados de forma crescente ou decrescente, facilitando a análise e visualização dos dados.
Digamos que queremos ordenar nossa base de dados a partir da variável idade. Teremos o código abaixo:
X | status | tempo_empresa | moradia | tempo_emprestimo | idade | estado_civil | registros | trabalho | despesas | renda | ativos | dividas | valor_emprestimo | preco_do_bem | dif | aut | naoaut | idadeQ |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
384 | ruim | 1 | pais | 48 | 18 | solteira(o) | não | meio período | 35 | 81 | 0 | 0 | 1150 | 1314 | 164 | não | sim | Jovem adultos |
1238 | bom | 1 | própria | 48 | 18 | solteira(o) | não | meio período | 45 | 111 | 7000 | 0 | 1100 | 1299 | 199 | não | sim | Jovem adultos |
1622 | ruim | 0 | alugada | 36 | 18 | solteira(o) | não | meio período | 40 | 51 | 0 | 0 | 500 | 500 | 0 | não | sim | Jovem adultos |
3712 | ruim | 1 | pais | 48 | 18 | solteira(o) | não | meio período | 45 | 95 | 4000 | 0 | 600 | 1472 | 872 | não | sim | Jovem adultos |
3913 | ruim | 0 | alugada | 36 | 18 | solteira(o) | sim | outros | 38 | 33 | 0 | 0 | 300 | 350 | 50 | não | sim | Jovem adultos |
Repare que os dados foram ordenados de acordo com a coluna idade, de baixo para cima. O comando desc, nos permite fazer o mesmo, em ordem decrescente:
X | status | tempo_empresa | moradia | tempo_emprestimo | idade | estado_civil | registros | trabalho | despesas | renda | ativos | dividas | valor_emprestimo | preco_do_bem | dif | aut | naoaut | idadeQ |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
16 | bom | 0 | própria | 24 | 68 | casada(o) | não | fixo | 75 | 131 | 4162 | 0 | 900 | 1186 | 286 | não | sim | Idosos |
18 | bom | 33 | alugada | 24 | 68 | casada(o) | não | autônomo | 65 | 200 | 5000 | 2000 | 600 | 1350 | 750 | sim | não | Idosos |
119 | bom | 20 | própria | 24 | 66 | casada(o) | não | fixo | 45 | 143 | 10000 | 0 | 950 | 1370 | 420 | não | sim | Idosos |
298 | bom | 3 | própria | 18 | 66 | casada(o) | não | outros | 45 | 69 | 12000 | 0 | 500 | 1101 | 601 | não | sim | Idosos |
1932 | bom | 2 | alugada | 12 | 66 | casada(o) | não | outros | 51 | 60 | 20000 | 0 | 500 | 1504 | 1004 | não | sim | Idosos |
Digamos que queremos ordenar a análise que fizemos na seção anterior, sobre a média de idade e estado civil. Basta adicionar o comando arrange com o operador pipe %>%. Os resultados ordem a coluna média por ordem crescente de valores.
## # A tibble: 6 × 2
## estado_civil media
## <chr> <dbl>
## 1 solteira(o) 27.8
## 2 <NA> 37
## 3 separada(o) 38.0
## 4 divorciada(o) 38.7
## 5 casada(o) 39.6
## 6 viúva(o) 48.8
Podemos, também, ordenar os resultados por ordem alfabética, inserindo a variável estado_civil no comando arrange.
dados %>%
group_by(estado_civil) %>%
summarize(media=mean(idade, na.rm = T))%>%
arrange(estado_civil)
## # A tibble: 6 × 2
## estado_civil media
## <chr> <dbl>
## 1 casada(o) 39.6
## 2 divorciada(o) 38.7
## 3 separada(o) 38.0
## 4 solteira(o) 27.8
## 5 viúva(o) 48.8
## 6 <NA> 37
Se quisermos ordenar as categorias de uma variável em uma ordem específica, customizada, precisamos utilizar a função fct_relevel(), do pacote forcats. Veremos isso na Aula 3.
Salvar dados
Não esquecer de salvar as modificações que fizemos na nossa base de dados hoje. Podemos salvar como .csv ou como objeto RDS. Para salvar como csv utilizar o código:
Ou para salvar como RDS
Não se esqueça de carregar o arquivo modificado na próxima aula!