Ocorrências Estado de São Paulo

Author

Alef & Wallace

Análise das ocorrências do Estado de São Paulo

Pacoctes usados

tidyverse

gt

geobr

Evolução dos furtos

library(tidyverse)

#| warning: false


oco <- readr::read_csv("oco2.csv")


oco_furtos <- oco |> 
  group_by(
    ano
  ) |> 
  summarise(
    furto = sum(furto_outros, na.rm = T),
    furto_carro = sum(furto_de_veiculo, na.rm = T)
  )


oco_furtos |> 
   mutate(
     furto2 = furto/1000
   ) |> 
  ggplot() +
  geom_point(
    aes(x=ano, y= furto2),color="darkblue", show.legend = F, size = 1.4
  )+
  geom_line(
    aes( y = furto2, x = ano),color  = "darkblue", linewidth = 0.9
  )+
  theme_bw() +
  labs(y= " Furtos ", title = "Evolução dos Furtos no Estado de São paulo")

Podemos notar o impacto da pandemia nos pequenos furtos no estado do São Paulo na variação de 2020/2021 houve queda de -22,36% caindo de 500 mil para 300 mil

tirando o efeito da pandemia

O Estado de São Paulo é responsável pelos números absolutos!

#| warning: false

#5 maiores estados com furtos


oco |> 
  group_by(id_municipio
   ) |> 
  summarise(
     furto = sum(furto_outros, na.rm = T),
      furto_carro = sum(furto_de_veiculo, na.rm = T)
    ) |> 
  arrange(desc(furto)) |> 
  slice(1:5) 
# A tibble: 5 × 3
  id_municipio   furto furto_carro
         <dbl>   <dbl>       <dbl>
1      3550308 3479769      885654
2      3509502  324248       85900
3      3543402  212222       38812
4      3518800  191656       55489
5      3552205  148797       33029
# agrupando por ano 
#| warning: false

oco |> 
  filter(
    id_municipio %in% c(3550308, 3509502,  3543402, 3518800, 3552205)
  ) |> 
  group_by(
    ano, id_municipio, regiao_ssp
  ) |> 
  summarise(
    furto = sum(furto_outros, na.rm = T),
    furto_carro = sum(furto_de_veiculo, na.rm = T)
  ) |> 
  ggplot(
    aes( x = ano, y = furto , group = regiao_ssp, color = factor(regiao_ssp))
  )+
  geom_line(
    aes( x=ano, y= furto), linewidth = 0.9
  ) + 
  theme_bw( )+
  labs(
    title = "Furtos Absolutos",
    color = "Municípios"
  ) 
`summarise()` has grouped output by 'ano', 'id_municipio'. You can override
using the `.groups` argument.

A capital do Estado é responsáavel pelo números absolutos!

Mas com relação aos furtos por mil habitantes?

Furtos por mil habitantes dos 5 municípios com maiores taxas

library(gganimate)

dado3 <- abjData::pnud_min

dado3 <- dado3 |> 
  select(
    muni_id:muni_nm
  )




pop_sp <- readr::read_csv("pop_sp.csv")

oco_ano <- oco |> 
  group_by(
    ano, id_municipio
  ) |> 
  summarise(
    furto = sum(furto_outros)
  )


oco_ano_pop <- pop_sp |> 
  mutate(
    id_municipio = as.double(id_municipio)
  ) |> 
  inner_join( oco_ano, by = c("id_municipio"="id_municipio","ano"))

# conseguindo os 5 municipios com maisores taxa de furto média

oco_ano_pop |> 
  mutate(
    tx_f = (furto/populacao)*1000
  ) |> 
  arrange(
    desc(tx_f)
  ) |> 
  group_by(
    id_municipio
  ) |> 
  summarise(
   tx_f_m = sum(tx_f, na.rm = T)/12
  ) |> 
  arrange(
    desc( tx_f_m)
  ) |> 
  slice(1:5)
# A tibble: 5 × 2
  id_municipio tx_f_m
         <dbl>  <dbl>
1      3520426   98.7
2      3502507   47.0
3      3531100   44.8
4      3522109   40.6
5      3505500   40.3
# gráfico com os municipios com as maiores tx médi de furto 
#  por mil habitantes

#| warning: false

oco_ano_pop |> 
  filter(
    id_municipio %in% c(3520426, 3502507, 3531100, 3522109, 3505500)
  ) |> 
  mutate(
    id_municipio = as.character(id_municipio)
  ) |> 
  inner_join(
    dado3, by = c("id_municipio"="muni_id")
    ) |> 
  mutate(
    tx_f = (furto/populacao)*1000
  ) |> 
  group_by(
    ano, id_municipio
  ) |> 
ggplot(
  aes( x = ano, y = tx_f, group = muni_nm, color =  factor(muni_nm))
)+
  geom_line(
    aes( x=ano, y= tx_f), linewidth = 0.9
  )+
  labs(
    title = "Os 5 Municípios Com as maiores furtos por mil habitantes",
    y = "Taxa de furtos Por Mil",
    color = "Municípios"
  )+
  theme_bw()+
  transition_reveal(ano) 

Podemos notar que nenhum dos municípios que apareceram nos absolutos aparecem aqui A ilha comprida seguem em disparado, com uma taxa de furto média de 98.71, ou seja a cada 1000 habitantes 99 são furtadas! Nem a pandemia conseguiu fazer diminuir o número de furtos

Regressão linear

library(tidyverse)
pnud <- abjData::pnud_min


pnud_sp <- pnud  |> 
  filter(
    uf_sigla == "SP"
  )


oco_f_idhm <- oco_ano_pop |> 
  mutate(
    ano = as.character(ano),
    id_municipio = as.character(id_municipio)
  ) |> 
  inner_join(
    pnud_sp, by = c("id_municipio"="muni_id", "ano")
  )


oco_f_idhm <- oco_f_idhm |> 
  mutate(
    tx_f = (furto/populacao)*1000,
    idhm2 = idhm*100,
    gini2 = gini*100,
    idhm_e2 = idhm_e*100,
    idhm_l2 = idhm_l*100,
    idhm_r2 = idhm_r*100
  ) 

#| warning: false

oco_f_idhm |> 
  ggplot()+
  geom_point(
    aes(y= tx_f , x = gini), color = "darkblue"
  )+
  geom_smooth(
    aes( y= tx_f , x = gini ), color = "orange",
  se = F, method = "lm"
  ) +
  labs( title = "correlação taxa de furtos por mil e índice gini, municípios de SP 2010",
        y = "Taxa de Furtos Por Mil")+
  theme_bw()

#| warning: false

modelo99 <- lm(tx_f ~ idhm_e2 + idhm_r2 + gini2 + idhm_l2 + idhm2, oco_f_idhm)

summary(modelo99)

Call:
lm(formula = tx_f ~ idhm_e2 + idhm_r2 + gini2 + idhm_l2 + idhm2, 
    data = oco_f_idhm)

Residuals:
    Min      1Q  Median      3Q     Max 
-10.428  -3.071  -0.672   2.339  60.982 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -27.6483     7.6248  -3.626 0.000311 ***
idhm_e2      -3.5865     1.3814  -2.596 0.009643 ** 
idhm_r2      -3.1149     1.2990  -2.398 0.016777 *  
gini2         0.2106     0.0407   5.175 3.06e-07 ***
idhm_l2      -2.6925     1.1175  -2.409 0.016266 *  
idhm2         9.7139     3.7695   2.577 0.010192 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 4.997 on 634 degrees of freedom
Multiple R-squared:  0.1331,    Adjusted R-squared:  0.1263 
F-statistic: 19.47 on 5 and 634 DF,  p-value: < 2.2e-16

achamos uma correlação positiva entre gini e a taxa de furtos 0.2106 ou seja, uma unidade adcional do gini*100 aumeta a taxa em 0,21 Achamos também uma correlação negativa entre indice educacional -3,5856

Agora vamos analisar a evolução dos homicídios no Estado

# dentre os ano de 2010 a 2015, varias variáveis estavam contenado apenas NA-----

# apos consertar isso, plotamos o dado

oco|> 
  group_by(
    ano) |> 
  summarise(
    homi_total = sum(numero_de_vitimas_em_homicidio_doloso, na.rm=TRUE)+
      sum(numero_de_vitimas_em_homicidio_doloso_por_acidente_de_transito, na.rm = TRUE)+
      sum(  numero_de_vitimas_em_latrocinio, na.rm = TRUE)+
      sum(lesao_corporal_seguida_de_morte, na.rm = TRUE) 
  ) |> 
  ggplot() +
  geom_point(
    aes(x=ano, y=homi_total, size = 0.6),color="red", show.legend = F
  )+geom_line(
   aes( x=ano, y=homi_total),color  = "red", linewidth = 1.5
  )+theme_bw() +
  labs(y= " homicídios ", title = "Evolução dos homicídios no Estado de São paulo")+
  transition_reveal(ano) 

Podemos observar que o número de homicídios caiu muiro no estado de sp a variação de 2002/2021 DE -88,66% de homicídios em 20 anos.Podemos observar também o efeito que a pandemia teve!

Tabela

library(gt)
Warning: package 'gt' was built under R version 4.3.3
library(tidyverse)

oco_t_homi <- oco |>
  mutate(
    homi_t =  numero_de_vitimas_em_homicidio_doloso+numero_de_vitimas_em_homicidio_doloso_por_acidente_de_transito+
      numero_de_vitimas_em_latrocinio+lesao_corporal_seguida_de_morte
  ) 


oco_t_homi |> 
  group_by(
  regiao_ssp
  ) |> 
  summarise(
    h_t = sum(homi_t, na.rm = T)
  ) |> arrange(
    desc(h_t)
  ) |> 
  rename(
    Municípios = regiao_ssp,
    Homicídios = h_t
  ) |>  
  slice(1:10)|> 
  gt() |> 
  tab_header(
    title = md("**Os 10 municípios com mais homicídios**"),
    subtitle = md("acumulado desde do ano de 2002")
  ) |> 
  tab_source_note(md("Fonte:[Secretaria De Segurança Pública Do Estado De São Paulo](https://www.ssp.sp.gov.br/estatistica)")) |> 
  opt_table_font(
    font = list(
      google_font(name = "Abel")
    )
  ) |> 
  tab_options(heading.subtitle.font.size = 18,
heading.background.color = "#FFD6BA",
table.border.top.color = "#B15044",
table.border.bottom.color = "#B15044",
source_notes.font.size = 11
    )
Os 10 municípios com mais homicídios
acumulado desde do ano de 2002
Municípios Homicídios
Capital 27831
Grande São Paulo (exclui a Capital) 22576
Campinas 6145
São José dos Campos 5566
Piracicaba 4740
Santos 4535
Sorocaba 4330
Ribeirão Preto 4202
Bauru 1895
São José do Rio Preto 1347
Fonte:Secretaria De Segurança Pública Do Estado De São Paulo

Mapa homicídios por 1000 habitantes

#mapa_sp2 <- oco5 |> 
 # ggplot()+
  #geom_sf(aes(fill = tx_h), color = "white", 
  #        size = .1, show.legend = F) +
  #theme_void() +  
  #scale_fill_gradient2(low = "green", 
   #                    mid = "#F0E68C", 
    #                   high = "red",
     #                  midpoint = median(oco5$tx_h))+
  #labs(title = "                   Taxa de homicídio por cem mil habitantes em São Paulo no ano de 2021")



#b<- oco5 |> 
 # filter(
  #  tx_h != 0
  #) 


# fazenndo com manual de cores


#oco6 <- oco5 |> 
 # mutate(    
  #  concentracao = case_when(
   #   tx_h < 0.037 ~ "baixa",
    #  tx_h >= 0.038 & tx_h <= 0.093643 ~ "média",
     # tx_h >= 0.094  ~ "alta",
    
    #) )


#mapa_sp1 <- oco6 |> 
 # ggplot()+
 # geom_sf(
  #  aes(fill= concentracao), 
   # show.legend = TRUE,
    #color = "white", 
    #lwd =0.001
  #)+ scale_fill_manual(values = c("#8B0000", "#62BEBD","#D9B730" ))+
  #labs(title = "Taxa de homicídio por cem mil habitantes em São Paulo no ano de 2021")+
  #theme_void()


mapa_sp2

mapa_sp1

Nesse mapa foi utilizada uma metodologia diferente para conseguir vizualizar melhor as diferenças