Carregamento de Pacotes

# Utilizando o pacote 'pacman' para carregar mĂºltiplos pacotes de forma eficiente
pacman::p_load(microdatasus, dplyr, tidyverse, sf, geobr,readxl)

Coletando Dados Brutos

# Utilizando a funĂ§Ă£o fetch_datasus do pacote microdatasus para coletar dados do SIM-DO
dados = fetch_datasus(
  year_start = 2023,  # Ano inicial para coleta de dados
  year_end = 2023,    # Ano final para coleta de dados
  uf = "CE",          # Unidade Federativa (CE = CearĂ¡)
  information_system = "SIM-DO"  # Sistema de InformaĂ§Ă£o (SIM-DO = Sistema de Informações sobre Mortalidade)
)
## ℹ Your local Internet connection seems to be ok.
## ℹ DataSUS FTP server seems to be up and reachable.
## ℹ Starting download...

Processando os Dados

# Processando os dados brutos usando a funĂ§Ă£o process_sim do pacote microdatasus
dados_processo = process_sim(dados)

Filtrando Dados por CID

# Filtrando os dados processados para incluir apenas registros com CID-10 X954 
dados_processo_filter = dados_processo %>% 
  filter(grepl("X954", CAUSABAS))

Contagem de Óbitos por Ano e Município

# Criando uma nova coluna 'ano' a partir da data de Ă³bito (DTOBITO) e contando o nĂºmero de Ă³bitos por ano e municĂ­pio
dados_contado = dados_processo_filter %>% 
  mutate(ano = year(DTOBITO)) %>% 
  count(ano, CODMUNOCOR)

Ordenando os Dados

# Ordenando os dados pelo ano e pelo nĂºmero de Ă³bitos em ordem decrescente
dados_ordenados = dados_contado[order(-dados_contado$ano, -dados_contado$n),]

Carregando Dados de MunicĂ­pios do CearĂ¡

# Carregando dados de municĂ­pios do CearĂ¡ a partir de um arquivo Excel
municipios_ce <- read_excel("~/03-R/01-Scripts/Dadosgov/municipios-ce.xlsx")

Carregando Mapa dos MunicĂ­pios do CearĂ¡

# Carregando o mapa dos municĂ­pios do CearĂ¡ usando o pacote geobr
mapa_ce = read_municipality(
  code_muni = "CE",       # CĂ³digo do estado do CearĂ¡
  year = 2010,            # Ano de referĂªncia do mapa
  showProgress = FALSE    # Suprime a barra de progresso
)
## Using year/date 2010

Renomeando Colunas para PadronizaĂ§Ă£o

# Renomeando a coluna CODMUNOCOR para code_muni no dataframe dados_ordenados
dados_ordenados = dados_ordenados %>%
  rename(code_muni6 = CODMUNOCOR)

municipios_ce = municipios_ce %>%
  rename(code_muni7 = code_completo)

municipios_ce = municipios_ce %>%
  rename(code_muni6 = code_muni)

mapa_ce = mapa_ce %>% 
  rename(code_muni7=code_muni)

Convertendo Colunas para Tipo Caractere

# Convertendo a coluna code_muni7 para tipo caractere no dataframe mapa_ce
mapa_ce <- mapa_ce %>%
  mutate(code_muni7 = as.character(code_muni7))

# Convertendo a coluna code_muni7 para tipo caractere no dataframe municipios_ce
municipios_ce <- municipios_ce %>%
  mutate(code_muni7 = as.character(code_muni7))

Verificando a ConversĂ£o

str(mapa_ce$code_muni7)
##  chr [1:184] "2300101" "2300150" "2300200" "2300309" "2300408" "2300507" ...
str(municipios_ce$code_muni7)
##  chr [1:892] "2300101" "2300101" "2300101" "2300101" "2300101" "2300150" ...

Combinando Dados com Full Join

# Combinando os dataframes mapa_ce e municipios_ce usando a coluna code_muni7
dados_fuj = full_join(mapa_ce, municipios_ce, by = "code_muni7")

Combinando Dados com Full Join

# Combinando o dataframe dados_fuj com dados_ordenados usando a coluna code_muni6
dados_mapa = full_join(dados_fuj, dados_ordenados, by = "code_muni6")

TransformaĂ§Ă£o LogarĂ­tmica

# Criando uma nova coluna log_mortes com o logaritmo natural do nĂºmero de Ă³bitos (n)
dados_mapa$log_mortes = log(dados_mapa$n)
# Verificando o Resultado
# Visualizando as primeiras linhas do dataframe dados_mapa
head(dados_mapa)
## Simple feature collection with 6 features and 10 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: -39.10202 ymin: -7.426376 xmax: -38.57082 ymax: -4.158423
## Geodetic CRS:  SIRGAS 2000
##   code_muni7 name_muni code_state abbrev_state UF code_muni6 Nome_MunicĂ­pio
## 1    2300101   Abaiara         23           CE 23     230010        Abaiara
## 2    2300101   Abaiara         23           CE 23     230010        Abaiara
## 3    2300101   Abaiara         23           CE 23     230010        Abaiara
## 4    2300101   Abaiara         23           CE 23     230010        Abaiara
## 5    2300101   Abaiara         23           CE 23     230010        Abaiara
## 6    2300150   Acarape         23           CE 23     230015        Acarape
##    ano  n                           geom log_mortes
## 1   NA NA MULTIPOLYGON (((-39.08246 -...         NA
## 2   NA NA MULTIPOLYGON (((-39.08246 -...         NA
## 3   NA NA MULTIPOLYGON (((-39.08246 -...         NA
## 4   NA NA MULTIPOLYGON (((-39.08246 -...         NA
## 5   NA NA MULTIPOLYGON (((-39.08246 -...         NA
## 6 2023  1 MULTIPOLYGON (((-38.67268 -...          0

Visualizando os dados

# Criando um mapa temĂ¡tico com ggplot2
ggplot() +
  geom_sf(data = dados_mapa, color = "white", aes(fill = log_mortes)) +  # Adiciona as geometrias dos municĂ­pios
  scale_fill_viridis_c(option = "B") +  # Define a escala de cores (viridis, opĂ§Ă£o "B")
  theme_minimal() +  # Usa um tema minimalista
  labs(
    title = "Mortes por arma de Fogo no CearĂ¡ - 2023",  # TĂ­tulo do grĂ¡fico
    subtitle = "X954 - Agressao por meio de disparo de outra arma de fogo ou de arma nao especificada - rua e estrada",  # SubtĂ­tulo
    caption = "ElaboraĂ§Ă£o: Gladson Rabelo - Dados: DATASUS",  # Legenda
    y = "",  # Remove o rĂ³tulo do eixo y
    x = ""   # Remove o rĂ³tulo do eixo x
  )