Painel Interativo de Dados do SIDRA

Author

Victória Gabriela Alves

Quarto

Quarto enables you to weave together content and executable code into a finished document. To learn more about Quarto see https://quarto.org.

Running Code

When you click the Render button a document will be generated that includes both content and the output of embedded code. You can embed code like this:

1 + 1
[1] 2

You can add options to executable code like this

[1] 4

The echo: false option disables the printing of code (only output is displayed).

```{r}
#| label: setup
#| include: false

library(sidrar)
library(tidyverse)
library(geobr)
library(sf)
library(leaflet)
library(plotly)
library(reactable)

# 1. BUSCA DE DADOS DO SIDRA
# Tabela 9514 - População residente (Censo 2022) por Estado
dados_sidra <- get_sidra(x = “t/9514/n3/all/v/93/p/all”) |>
clean_names() |>
select(
codigo_uf = estado_codigo,
estado = estado,
populacao = valor
)

# 2. BUSCA DA MALHA GEOGRÁFICA (Estados do Brasil)
malha_estados <- read_state(year = 2022, showProgress = FALSE) |>
mutate(code_state = as.character(code_state))

# 3. UNIÃO DOS DADOS
dados_completos <- malha_estados |>
left_join(dados_sidra, by = c(“code_state” = “codigo_uf”))
```

##  Mapa Interativo

População residente por Unidade da Federação (Censo 2022).

```{r}
#| label: mapa
# Ajuste da projeção para o Leaflet (WGS84)
dados_mapa <- st_transform(dados_completos, crs = 4326)

# Criando paleta de cores
pal <- colorNumeric(palette = “YlOrRd”, domain = dados_mapa$populacao)

# Renderizando mapa
leaflet(dados_mapa) |>
addTiles() |>
addPolygons(
fillColor = ~pal(populacao),
weight = 1,
opacity = 1,
color = “white”,
dashArray = “3”,
fillOpacity = 0.7,
highlightOptions = highlightOptions(
weight = 3,
color = “#666”,
dashArray = ““,
fillOpacity = 0.7,
bringToFront = TRUE
),
label = ~paste0(estado,”: “, format(populacao, big.mark =”.”))
) |>
addLegend(
pal = pal,
values = ~populacao,
opacity = 0.7,
title = “População”,
position = “bottomright”
)
```

##  Gráfico Estatístico

Distribuição da população por estado de forma comparativa.

```{r}
#| label: grafico
# Ordenando dados para o gráfico
dados_grafico <- dados_sidra |>
arrange(desc(populacao))

# Criando gráfico interativo com Plotly
p <- ggplot(dados_grafico, aes(x = reorder(estado, populacao), y = populacao, text = paste(“Estado:”, estado, “<br>População:”, format(populacao, big.mark = “.”)))) +
geom_col(fill = “steelblue”) +
coord_flip() +
labs(x = “Estado”, y = “População Residente”) +
theme_minimal()

ggplotly(p, tooltip = “text”)
```

##  Tabela de Dados

Pesquisando, ordenando e navegando pelos dados oficiais extraídos diretamente do SIDRA.

```{r}
#| label: tabela
dados_tabela <- dados_sidra |>
select(Estado = estado, `População Residente` = populacao)

reactable(
dados_tabela,
searchable = true,
striped = true,
filterable = true,
defaultPageSize = 10,
columns = list(
`População Residente` = colDef(format = colFormat(separators = TRUE, loc = “pt-BR”))
)
)
```