generated from curso-r/template-pagina-do-curso
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pratica-aula-3.qmd
239 lines (172 loc) · 5.07 KB
/
pratica-aula-3.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
---
title: "Informações sobre as barragens"
format: html
date: "2022-08-16"
knitr:
opts_chunk:
fig.align: "center"
bibliography:
- references.bib
- packages.bib
csl: abnt.csl
lang: pt
params:
estado: "SP"
---
```{r setup}
#| include: false
knitr::opts_chunk$set(message = FALSE) # versão de opção global de chunk com RMarkdown, funciona com Quarto :)
```
## ABSTRACT
.....
## Objetivos {#sec-objetivos}
Este relatório tem como objetivo apresentar funcionalidades do *R Markdown* e do *Quarto*, utilizando dados públicos sobre barragens de mineração no Brasil.
Os objetivos específicos da análise são:
- fazer uma tabela das barragens por estado;
- fazer um gráfico do número de barragens por categoria de dano potencial associado;
## Materiais e métodos
A base de dados disponibilizada pelo [SIGBM - Sistema de Gestão de Segurança de Barragem de Mineração](https://app.anm.gov.br/SIGBM/Publico/ClassificacaoNacionalDaBarragem) apresenta dados referentes à Barragens de Mineração no território brasileiro.
<center>![](img/anm315x66azul_r.png)</center>
<br>
## Carregando os pacotes
```{r}
# Carregar pacotes:
library(janitor)
library(tidyverse)
library(readxl)
```
## Download e leitura da base
### Download
```{r}
#| eval: false
## ----download-data------------------
## # Fazer download da base de dados do dia atual:
## # url para baixar os dados
url_request <- "https://app.anm.gov.br/SIGBM/Publico/ClassificacaoNacionalDaBarragem/ExportarExcel"
##
## # cria a pasta dados (se não existir)
fs::dir_create("dados")
##
## # funcão que baixa os dados
httr::POST(url_request, httr::write_disk("dados/sigbm.xlsx", overwrite = TRUE))
```
### Leitura
```{r}
## ----load-data-----------------
# Importar a base de dados:
# ler os dados baixados
sigbm <- read_xlsx("dados/sigbm.xlsx", skip = 4) |>
clean_names()
```
Data de atualização da base
```{r}
# ----- data de atualização -----
data_atualizacao_sigbm <- read_xlsx("dados/sigbm.xlsx",
col_names = FALSE,
n_max = 1) |>
pull() |>
str_extract(":.*-") |>
str_remove(":") |>
str_remove("-") |>
str_trim()
```
## Barragens de mineração no Brasil
A base do SIGBM foi obtida no dia `r data_atualizacao_sigbm`, e apresentou informações referentes a `r nrow(sigbm)` barragens.
## Tabela
```{r}
## ----tabela-top-10-------------------------
sigbm |>
count(uf, sort = TRUE) |>
slice(1:10) |>
select(`Estado` = uf, `Número de barragens` = n) |>
knitr::kable(caption = "Dez estados brasileiros com mais barragens cadastradas no SIG-BM")
```
## Gráfico
```{r}
#| fig-cap: "Gráfico do número de barragens segundo o Dano Potencial Associado"
#| dpi: 300
#| out-width: 95%
#| label: fig-grafico-dpa
## ----plot-dpa---------------------------
sigbm |>
count(dano_potencial_associado) |>
mutate(
dano_potencial_associado = if_else(
dano_potencial_associado == "N/A",
"Não se aplica",
dano_potencial_associado
),
dano_potencial_associado = factor(
dano_potencial_associado,
levels = c("Não se aplica", "Baixo", "Médio", "Alto")
)
) |>
ggplot() +
aes(x = dano_potencial_associado, y = n) +
geom_col(fill = "lightblue") +
theme_bw() +
labs(x = "Dano potencial associado (DPA)", y = "Quantidade de barragens",
title = "Dano potencial associado de barragens de mineração no Brasil")
```
### Tabelas
```{r}
top10uf <- sigbm |>
count(uf, sort = TRUE) |>
slice(1:10) |>
select(`Estado` = uf, `Número de barragens` = n)
```
- Com knitr:
```{r}
top10uf |>
knitr::kable()
```
- Com gt:
```{r}
# top10uf |>
# gt::gt()
```
- Com DT:
```{r}
# top10uf |>
# DT::datatable()
```
- Com reactable:
```{r}
# top10uf |>
# reactable::reactable()
```
- Com flextable:
```{r}
# top10uf |>
# flextable::flextable()
```
### Código inline
A base mtcars possui `r nrow(mtcars)` carros. As colunas presentes na base são `r knitr::combine_words(names(mtcars), and = "e ")`.
### Equações com Latex
A equação da média é ${\text{Média}=\frac {a_{1}+a_{2}+\cdots +a_{n}}{n}}$, sendo usada amplamente para análises descritivas.
$${\text{Média}=\frac {a_{1}+a_{2}+\cdots +a_{n}}{n}}$$
### Adicionar referências
Outros estudos utilizaram dados do SIGBM, como @leao2022
Esse relatório foi feito usando R [@rstats] e os pacotes tidyverse [@wickham2019], janitor [@R-janitor], ggplot2 [@ggplot22016].
```{r}
knitr::write_bib(file = "packages.bib")
```
### Referência cruzada
Na @sec-objetivos , descrevemos os objetivos deste documento.
Nos [objetivos @sec-objetivos], descrevemos os objetivos deste documento.
Na @fig-grafico-dpa, vemos que a maior quantidade de barragens ...
## Parâmetros
```{r}
params$estado
```
```{r}
sigbm_filtrado <- sigbm |>
filter(uf == params$estado)
```
Daqui em diante, o relatório será baseado nas barragens do estado `r params$estado`. Existem `r nrow(sigbm_filtrado)` barragens cadastradas no SIGBM neste estado.
```{r}
sigbm_filtrado |>
count(minerio_principal, uf, sort = TRUE) |>
slice(1:10) |>
knitr::kable()
```