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
library(leaflet) leaflet providers geometría
library(leaflet.extras)
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
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
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))
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))