---
title: "PIB dos Estados Brasileiros (2021)"
subtitle: "Análise exploratória com dados do IBGE/SIDRA"
author: ""
date: today
lang: pt
format:
html:
theme: flatly
toc: true
toc-title: "Sumário"
toc-depth: 2
toc-location: left
number-sections: true
embed-resources: true
code-fold: true
code-tools: true
smooth-scroll: true
highlight-style: github
execute:
warning: false
message: false
---
```{r}
#| label: setup
#| include: false
library(sidrar)
library(geobr)
library(sf)
library(dplyr)
library(ggplot2)
library(knitr)
library(kableExtra)
library(scales)
```
---
## Sobre os dados
Os dados utilizados nesta análise foram obtidos diretamente da API do **SIDRA/IBGE** — Sistema IBGE de Recuperação Automática. Especificamente, foi consultada a **Tabela 5938**, que disponibiliza o Produto Interno Bruto (PIB) a preços correntes das Unidades da Federação para o ano de **2021**, expresso em R$ milhões.
A malha geográfica dos estados foi obtida pelo pacote `geobr`, com referência ao ano de 2020.
---
## Coleta e tratamento dos dados
```{r}
#| label: coleta-dados
#| echo: true
# Coleta dos dados de PIB via API do SIDRA
dados_sidra <- get_sidra(
api = "/t/5938/n3/all/v/37/p/2021"
)
# Seleção e limpeza das colunas relevantes
pib_uf <- dados_sidra |>
select(
nome_uf = `Unidade da Federação`,
codigo_uf = `Unidade da Federação (Código)`,
pib = Valor
) |>
mutate(
codigo_uf = as.numeric(codigo_uf),
pib = as.numeric(pib),
regiao = case_when(
codigo_uf %in% c(11, 12, 13, 14, 15, 16, 17) ~ "Norte",
codigo_uf %in% c(21, 22, 23, 24, 25, 26, 27, 28, 29) ~ "Nordeste",
codigo_uf %in% c(31, 32, 33, 35) ~ "Sudeste",
codigo_uf %in% c(41, 42, 43) ~ "Sul",
codigo_uf %in% c(50, 51, 52, 53) ~ "Centro-Oeste",
TRUE ~ "Outro"
)
)
# Carregamento da malha geográfica
mapa_uf <- read_state(year = 2020, showProgress = FALSE)
# Join entre malha e dados de PIB
mapa_pib <- mapa_uf |>
left_join(pib_uf, by = c("code_state" = "codigo_uf"))
```
---
## Mapa — PIB por Unidade da Federação
```{r}
#| label: mapa
#| echo: true
#| fig-width: 10
#| fig-height: 8
#| fig-align: center
ggplot(mapa_pib) +
geom_sf(aes(fill = pib), color = "white", linewidth = 0.3) +
scale_fill_viridis_c(
option = "plasma",
labels = label_number(scale = 1e-6, suffix = " bi"),
name = "PIB (R$ bilhões)"
) +
labs(
title = "PIB por Unidade da Federação — Brasil (2021)",
subtitle = "Fonte: IBGE/SIDRA — Tabela 5938",
caption = "Malha geográfica: geobr"
) +
theme_void(base_size = 13) +
theme(
plot.title = element_text(face = "bold", hjust = 0.5, size = 15),
plot.subtitle = element_text(hjust = 0.5, color = "gray40"),
plot.caption = element_text(hjust = 0.5, color = "gray55", size = 9),
legend.position = "right"
)
```
O mapa evidencia uma forte **concentração do PIB na região Sudeste**, especialmente nos estados de São Paulo, Rio de Janeiro e Minas Gerais. As regiões Norte e Nordeste apresentam os menores valores absolutos de produto.
---
## Gráfico — Ranking dos 10 maiores PIBs estaduais
```{r}
#| label: grafico-ranking
#| echo: true
#| fig-width: 10
#| fig-height: 6
#| fig-align: center
cores_regiao <- c(
"Norte" = "#2ecc71",
"Nordeste" = "#e67e22",
"Sudeste" = "#3498db",
"Sul" = "#9b59b6",
"Centro-Oeste" = "#e74c3c"
)
pib_uf |>
slice_max(pib, n = 10) |>
mutate(nome_uf = reorder(nome_uf, pib)) |>
ggplot(aes(x = pib, y = nome_uf, fill = regiao)) +
geom_col(width = 0.7, show.legend = TRUE) +
geom_text(
aes(label = label_number(scale = 1e-6, suffix = " bi", accuracy = 1)(pib)),
hjust = -0.1,
size = 3.5,
color = "gray30"
) +
scale_x_continuous(
labels = label_number(scale = 1e-6, suffix = " bi"),
expand = expansion(mult = c(0, 0.18))
) +
scale_fill_manual(values = cores_regiao, name = "Região") +
labs(
title = "Top 10 Unidades da Federação por PIB — Brasil (2021)",
subtitle = "Fonte: IBGE/SIDRA — Tabela 5938",
x = "PIB (R$ bilhões)",
y = NULL
) +
theme_minimal(base_size = 13) +
theme(
plot.title = element_text(face = "bold", size = 14),
plot.subtitle = element_text(color = "gray45", size = 10),
panel.grid.major.y = element_blank(),
panel.grid.minor = element_blank(),
legend.position = "bottom"
)
```
São Paulo lidera com ampla margem, seguido por Minas Gerais e Rio de Janeiro. Nota-se que **todos os dez maiores PIBs estaduais pertencem às regiões Sudeste, Sul e Centro-Oeste**.
---
## Tabela — PIB completo por Unidade da Federação
```{r}
#| label: tabela
#| echo: true
pib_uf |>
arrange(desc(pib)) |>
mutate(
rank = row_number(),
pib_bi = pib / 1e6,
pib_pct = pib / sum(pib) * 100
) |>
select(
`#` = rank,
`Estado` = nome_uf,
`Região` = regiao,
`PIB (R$ bi)` = pib_bi,
`Part. (%)` = pib_pct
) |>
kable(
digits = c(0, 0, 0, 1, 2),
format.args = list(big.mark = ".", decimal.mark = ","),
align = c("c", "l", "c", "r", "r")
) |>
kable_styling(
bootstrap_options = c("striped", "hover", "condensed", "responsive"),
full_width = FALSE,
position = "center",
font_size = 13
) |>
column_spec(1, bold = TRUE, width = "2em") |>
column_spec(4, bold = TRUE) |>
row_spec(0, bold = TRUE, background = "#2c3e50", color = "white") |>
row_spec(1:3, background = "#fef9e7")
```
---
## Considerações finais
A análise dos dados do SIDRA/IBGE para 2021 reforça as conhecidas **assimetrias regionais da economia brasileira**:
- O estado de **São Paulo** sozinho responde por cerca de **30%** do PIB nacional.
- As regiões **Norte e Nordeste**, apesar de concentrarem grande parte da população e do território, têm participação proporcionalmente reduzida no produto total.
- O **Centro-Oeste** se destaca pelo Distrito Federal, que apresenta PIB per capita elevado devido à presença da administração pública federal.
---
*Análise produzida com R • Pacotes: `sidrar`, `geobr`, `ggplot2`, `dplyr`, `kableExtra`*