Etapa 1 - Manipulação de dados

Nesta etapa, realizamos o carregamento, a filtragem e o tratamento do painel educacional de municípios do Brasil (braziledupanel-municipal.dta). O objetivo foi delimitar o dataset bruto original para a microrregião da Mata Sul Pernambucana (composta por 23 municípios), efetuando a padronização de caracteres, o cruzamento de nomes com códigos IBGE, a seleção de variáveis de interesse e a criação de novas métricas derivadas.

install.packages("haven")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.6'
## (as 'lib' is unspecified)
library(haven)

dados <- read_dta("braziledupanel-municipal.dta")
library(stringi)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
sum(is.na(dados$SIGLA))
## [1] 0
dados <- dados %>% 
  filter(SIGLA == "PE")

# 1. Lista dos municípios da Mata Sul fornecidos
mata_sul_nomes <- c(
  "Água Preta", "Amaraji", "Barreiros", "Belém de Maria", "Catende", 
  "Chã Grande", "Cortes", "Escada", "Gameleira", "Jaqueira", 
  "Joaquim Nabuco", "Maraial", "Palmares", "Primavera", "Quipapá", 
  "Ribeirão", "Rio Formoso", "São Benedito do Sul", "Sirinhaém", 
  "São José da Coroa Grande", "Tamandaré", "Vitória de Santo Antão", "Xexéu"
)

# 2. Padroniza a lista: remove acentos e converte para MAIÚSCULAS
mata_sul_limpo <- mata_sul_nomes %>%
  stri_trans_general("Latin-ASCII") %>%
  toupper() %>%
  trimws()
# 3. Pega o mapa de CO_MUNICIPIO correspondente a partir das linhas que TÊM nome (MUNIC)
codigos_mata_sul <- dados %>%
  filter(!is.na(MUNIC) & MUNIC != "") %>%
  mutate(MUNIC_LIMPO = trimws(toupper(stri_trans_general(MUNIC, "Latin-ASCII")))) %>%
  filter(MUNIC_LIMPO %in% mata_sul_limpo) %>%
  pull(CO_MUNICIPIO) %>%
  unique()

# 4. Filtra TODAS as linhas da base (com ou sem nome) que possuem esses códigos
dados_mata_sul <- dados %>%
  filter(CO_MUNICIPIO %in% codigos_mata_sul)
colunas_selecionadas <- c(
  # Identificação
  "NU_ANO_CENSO", "CO_MUNICIPIO", "MUNIC", "CO_UF", "SIGLA",
  
  # Escolas e Alunos (Geral e Municipal)
  "SCHOOLS_MUN_NU", "SCHOOLS_MUN_STUD", 
  "SCHOOLS_NIVFUND_1_NU", "SCHOOLS_NIVFUND_2_NU",
  "MATFUND_NU", "MATFUND_I_NU", "MATFUND_T_NU",
  
  # Professores
  "PROFFUNDTOT_NU", "PROFFUNDTOT_NU_PUB", 
  "PROFFUNDINC_PC", "PROFFUNDCOMP_PC", "PROFMED_PC", "PROFSUP_PC",
  
  # Turmas e Razão Aluno/Professor
  "CLASSSIZE", "CLASSSIZE_PUB", "CLASSSIZE_I_PUB",
  "CLASSSIZE_T_PUB", "STUDTEACH"
)

# 1. Filtrar apenas as colunas que realmente existem no arquivo
educacao_municipal_mata_sul <- dados_mata_sul %>%
  select(any_of(colunas_selecionadas))

colSums(is.na(educacao_municipal_mata_sul))
##         NU_ANO_CENSO         CO_MUNICIPIO                MUNIC 
##                    0                    0                    0 
##                CO_UF                SIGLA       SCHOOLS_MUN_NU 
##                    0                    0                    0 
##     SCHOOLS_MUN_STUD SCHOOLS_NIVFUND_1_NU SCHOOLS_NIVFUND_2_NU 
##                    0                    0                    0 
##           MATFUND_NU         MATFUND_I_NU         MATFUND_T_NU 
##                    0                    0                    0 
##       PROFFUNDTOT_NU   PROFFUNDTOT_NU_PUB       PROFFUNDINC_PC 
##                    0                    0                    0 
##      PROFFUNDCOMP_PC           PROFMED_PC           PROFSUP_PC 
##                    0                    0                    0 
##            CLASSSIZE        CLASSSIZE_PUB            STUDTEACH 
##                    0                    0                    0
educacao_municipal_mata_sul <- educacao_municipal_mata_sul %>%
  mutate(
    ALUNOS_POR_ESCOLA = SCHOOLS_MUN_STUD / SCHOOLS_MUN_NU
  )

Etapa 2 - Tabela dinâmica

# 1. Instalar e carregar o pacote DT
if (!require(DT)) install.packages("DT")
## Loading required package: DT
library(DT)

# 2. Gerar a tabela interativa
datatable(
  educacao_municipal_mata_sul,
  filter = "top", # Adiciona filtros de busca no topo de cada coluna
  rownames = FALSE, # Remove a coluna de índice (1, 2, 3...)
  options = list(
    pageLength = 10, # Exibe 10 linhas por página por padrão
    autoWidth = TRUE,
    language = list(
      url = "//cdn.datatables.net/plug-ins/1.10.11/i18n/Portuguese-Brasil.json" # Traduz a interface para PT-BR
    )
  )
)

Etapa 3 - Equações com LaTeX

Transformada de Fourier

\[F(\omega) = \int_{-\infty}^{\infty} f(t) e^{-i \omega t} \, dt\] Aplicação: Decompõe um sinal (como som ou imagem) em suas frequências constituintes. É a base da compressão de arquivos MP3, JPEG e MP4. Sem ela, o streaming de música e vídeo na internet seria impossível devido ao tamanho gigantesco dos arquivos. Ela também opera no cancelamento de ruído dos fones de ouvido.


Equação de Black-Scholes

\[\frac{\partial V}{\partial t} + \frac{1}{2}\sigma^2 S^2 \frac{\partial^2 V}{\partial S^2} + r S \frac{\partial V}{\partial S} - r V = 0\] Aplicação: Uma equação diferencial parcial usada para calcular o preço justo de derivados financeiros (opções) ao longo do tempo. É o pilar do mercado financeiro global. Ela dita como os grandes fundos gerenciam riscos, influenciando indiretamente os preços de investimentos, taxas de juros e até os fundos de previdência.


Equação de Navier-Stokes

\[\rho \left( \frac{\partial \mathbf{u}}{\partial t} + \mathbf{u} \cdot \nabla \mathbf{u} \right) = -\nabla p + \mu \nabla^2 \mathbf{u} + \mathbf{f}\] Aplicação: Descreve como os fluidos (líquidos e gases) se movem. É usada nos supercomputadores para a previsão do tempo, no design aerodinâmico de carros e aviões para economizar combustível, e até nos efeitos visuais de água e fumaça em videogames e filmes.


Equação do Campo de Einstein

\[R_{\mu\nu} - \frac{1}{2} R g_{\mu\nu} + \Lambda g_{\mu\nu} = \frac{8\pi G}{c^4} T_{\mu\nu}\] Aplicação: Descreve como a massa e a energia curvam o tecido do espaço-tempo, o que nós percebemos como gravidade. Sem a correção matemática baseada nesta fórmula, o GPS do seu celular erraria a sua localização por cerca de 10 quilômetros a cada dia. Como os satélites estão se movendo rápido e longe da Terra, o tempo passa em um ritmo diferente para eles.


Algoritmo PageRank

\[PR(p_i) = \frac{1 - d}{N} + d \sum_{p_j \in M(p_i)} \frac{PR(p_j)}{L(p_j)}\] Aplicação: Criado para o mecanismo de busca do Google, o algoritmo é amplamente utilizado para ranqueamento de nós em grafos, análise de redes sociais (identificação de influenciadores), recomendação de produtos e análise de redes de citação acadêmica.

Etapa 4 - Anexo de imagens

Primeira imagem.
Primeira imagem.
Segunda imagem.
Segunda imagem.

Etapa 5 - Referências bibliográficas

CONDEPE/FIDEM. 2024. Relação Dos Municípios, Por Região de Desenvolvimento. Http://www.bde.pe.gov.br/visualizacao/Visualizacao_formato2.aspx?CodInformacao=798&Cod=1.
Monteiro, Thiago de Andrade Rangel, and Patricia Rebello Teles. 2026. “Explorando Os Dados Abertos Do Experimento CMS Em Colisões de Íons Pesados: Um Ensaio Didático Em Física Moderna e Computacional Ao Nível de Iniciação Científica.” Revista Brasileira de Ensino de Física 48: e20250358. https://doi.org/10.1590/1806-9126-RBEF-2025-0358.
Moraes, Lena Lúcia de, and Ivette Kafure. 2020. “Bibliometria e Ciência de Dados Um Exemplo de Busca e Análise de Dados Da Web of Science (WoS).” RDBCI: Revista Digital de Biblioteconomia e Ciência Da Informação 18: e020016. https://doi.org/10.20396/rdbci.v19i0.8658521.
Saldanha, Raphael de Freitas, Christovam Barcellos, and Marcel de Moraes Pedroso. 2021. “Ciência de Dados e Big Data: O Que Isso Significa Para Estudos Populacionais e Da Saúde?” Cadernos Saúde Coletiva 29 (spe): 51–58. https://doi.org/10.1590/1414-462X202199010305.
Schleder, Gabriel R., and Adalberto Fazzio. 2021. “Machine Learning Na Física, Química, e Ciência de Materiais: Descoberta e Design de Materiais.” Revista Brasileira de Ensino de Física 43: e20200407. https://doi.org/10.1590/1806-9126-RBEF-2020-0407.