R Markdown

1.- Leer base de datos espacial y reproyectar a CRS 4326 2.- leer marginación 3.- Join 4.- leaflet() 4.1 addproviders() 4.2 addpolígonos

1.- Leer base de datos espacial y reproyectar a CRS 4326 usaré sf para leer y tidyverse para manipular

Hacer el leaflet

library(leaflet) leaflet providers geometría

Heatmap

library(leaflet.extras)

leer csv

fgj = read_csv("01_input/da_victimas_2023 (1).csv") %>% 
  janitor::clean_names()
## Rows: 20166 Columns: 22
## -- Column specification --------------------------------------------------------
## Delimiter: ","
## chr  (12): Mes_inicio, Delito, Categoria, Sexo, TipoPersona, CalidadJuridica...
## dbl   (6): idCarpeta, Año_inicio, Edad, Año_hecho, latitud, longitud
## date  (2): FechaInicio, FechaHecho
## time  (2): HoraHecho, HoraInicio
## 
## i Use `spec()` to retrieve the full column specification for this data.
## i Specify the column types or set `show_col_types = FALSE` to quiet this message.
fgj
## # A tibble: 20,166 x 22
##    id_ca~1 ano_i~2 mes_i~3 fecha_in~4 delito categ~5 sexo   edad tipo_~6 calid~7
##      <dbl>   <dbl> <chr>   <date>     <chr>  <chr>   <chr> <dbl> <chr>   <chr>  
##  1 9361878    2023 Enero   2023-01-01 LESIO~ DELITO~ <NA>     NA MORAL   OFENDI~
##  2 9361879    2023 Enero   2023-01-01 ROBO ~ ROBO A~ Masc~    50 FISICA  VICTIM~
##  3 9361880    2023 Enero   2023-01-01 ROBO ~ ROBO D~ Masc~    34 FISICA  VICTIM~
##  4 9361881    2023 Enero   2023-01-01 LESIO~ DELITO~ Masc~    NA FISICA  LESION~
##  5 9361882    2023 Enero   2023-01-01 PERDI~ HECHO ~ Masc~    90 FISICA  CADAVER
##  6 9361883    2023 Enero   2023-01-01 ROBO ~ DELITO~ Masc~    NA FISICA  VICTIM~
##  7 9361885    2023 Enero   2023-01-01 DAÑO ~ DELITO~ Masc~    58 FISICA  VICTIM~
##  8 9361888    2023 Enero   2023-01-01 VIOLE~ DELITO~ Feme~    32 FISICA  VICTIM~
##  9 9361889    2023 Enero   2023-01-01 PERSO~ DELITO~ Masc~    14 FISICA  VICTIMA
## 10 9361892    2023 Enero   2023-01-01 DAÑO ~ DELITO~ Masc~    31 FISICA  VICTIM~
## # ... with 20,156 more rows, 12 more variables: competencia <chr>,
## #   ano_hecho <dbl>, mes_hecho <chr>, fecha_hecho <date>, hora_hecho <time>,
## #   hora_inicio <time>, alcaldia_hechos <chr>, municipio_hechos <chr>,
## #   colonia_datos <chr>, fgj_colonia_registro <chr>, latitud <dbl>,
## #   longitud <dbl>, and abbreviated variable names 1: id_carpeta,
## #   2: ano_inicio, 3: mes_inicio, 4: fecha_inicio, 5: categoria,
## #   6: tipo_persona, 7: calidad_juridica

Quiero ver los delitos de la base

table(fgj$categoria)
## 
##                                  DELITO DE BAJO IMPACTO 
##                                                   17488 
##                                      HECHO NO DELICTIVO 
##                                                     343 
##                                        HOMICIDIO DOLOSO 
##                                                      90 
##           LESIONES DOLOSAS POR DISPARO DE ARMA DE FUEGO 
##                                                      67 
##                    ROBO A CASA HABITACIÓN CON VIOLENCIA 
##                                                      15 
## ROBO A CUENTAHABIENTE SALIENDO DEL CAJERO CON VIOLENCIA 
##                                                      19 
##                            ROBO A NEGOCIO CON VIOLENCIA 
##                                                     171 
## ROBO A PASAJERO A BORDO DE MICROBUS CON Y SIN VIOLENCIA 
##                                                      87 
##           ROBO A PASAJERO A BORDO DE TAXI CON VIOLENCIA 
##                                                      13 
##   ROBO A PASAJERO A BORDO DEL METRO CON Y SIN VIOLENCIA 
##                                                     123 
##                   ROBO A REPARTIDOR CON Y SIN VIOLENCIA 
##                                                      86 
##    ROBO A TRANSEUNTE EN VÍA PÚBLICA CON Y SIN VIOLENCIA 
##                                                     909 
##                ROBO A TRANSPORTISTA CON Y SIN VIOLENCIA 
##                                                       6 
##                    ROBO DE VEHÍCULO CON Y SIN VIOLENCIA 
##                                                     519 
##                                               SECUESTRO 
##                                                       1 
##                                               VIOLACIÓN 
##                                                     229

Voy a hacer un heatmap

library(leaflet.extras)

leaflet(width = "100%") %>% 
  setView(lng = -99.153912,lat = 19.407897,zoom = 10) %>% 
  addProviderTiles(providers$CartoDB,group = "capa 1") %>%
  addProviderTiles(providers$OpenStreetMap,group = "OSM") %>% 
  addProviderTiles(providers$Esri.WorldImagery,group = "imagen") %>% 
  addHeatmap(lng = fgj$longitud,lat = fgj$latitud,radius = 10,group = "heatmap") %>%
  addCircles(lng = fgj$longitud,lat = fgj$latitud,group = "puntos") %>%
  addLayersControl(baseGroups = c("capa 1","OSM","imagen"),
                   overlayGroups = c("heatmap","puntos"),
                   options = layersControlOptions(collapsed = F))

Mapa de violación

base_v = fgj %>% 
  filter(str_detect(categoria,"VIOLA"))

leaflet(width = "100%") %>% 
  setView(lng = -99.153912,lat = 19.407897,zoom = 10) %>% 
  addProviderTiles(providers$CartoDB,group = "capa 1") %>%
  addProviderTiles(providers$OpenStreetMap,group = "OSM") %>% 
  addProviderTiles(providers$Esri.WorldImagery,group = "imagen") %>% 
  addHeatmap(lng = base_v$longitud,lat = base_v$latitud,radius = 10,group = "heatmap") %>%
  addCircles(lng = base_v$longitud,lat = base_v$latitud,group = "puntos") %>%
  addLayersControl(baseGroups = c("capa 1","OSM","imagen"),
                   overlayGroups = c("heatmap","puntos"),
                   options = layersControlOptions(collapsed = F))