Vamos a visualizar los datos de delitos en CABA, en graficos.
Para eso primero incorporamos la base de datos.
delitos <- read.csv("Data/delitos2019-2020.csv", stringsAsFactors = TRUE)
vemos como esta compuesta:
head(delitos)
## fecha franja_horaria anio mes periodo tipo subtipo
## 1 01/01/20 10 2020 enero 2020-01 Hurto (sin violencia)
## 2 01/01/20 22 2020 enero 2020-01 Homicidio Femicidio
## 3 01/01/20 19 2020 enero 2020-01 Robo (con violencia)
## 4 01/01/20 17 2020 enero 2020-01 Robo (con violencia)
## 5 01/01/20 2 2020 enero 2020-01 Hurto (sin violencia)
## 6 01/01/20 5 2020 enero 2020-01 Robo (con violencia)
## uso_armas comuna victimas lat lon
## 1 10 NA -34.62664 -58.52761
## 2 11 1 -34.61127 -58.52539
## 3 10 NA -34.62543 -58.52501
## 4 10 NA -34.62543 -58.52501
## 5 11 NA -34.60679 -58.52073
## 6 9 NA -34.65520 -58.51430
Observamos que los aproximadamente 189 mil registros estan clasificados por 12 variables, que tienen que ver con momentos, periodos de tiempo, tipo y subtipo, uso de armnas, ubicaciones, etc de los delitos en CABA.
summary(delitos)
## fecha franja_horaria anio mes
## 11-03-19: 468 Min. : 0.00 Min. :2019 enero :20372
## 20-03-19: 453 1st Qu.: 9.00 1st Qu.:2019 febrero :19538
## 13-09-19: 450 Median :14.00 Median :2019 marzo :17280
## 08-03-19: 444 Mean :13.06 Mean :2019 noviembre:16638
## 21-06-19: 440 3rd Qu.:18.00 3rd Qu.:2020 diciembre:16506
## 02-11-19: 433 Max. :23.00 Max. :2020 octubre :16000
## (Other) :186521 NA's :500 (Other) :82875
## periodo tipo subtipo
## 2019-03: 11247 Homicidio : 399 :169290
## 2019-01: 10507 Hurto (sin violencia):75015 Hurto Automotor: 7304
## 2019-05: 10435 Lesiones :16506 Siniestro Vial : 6581
## 2019-10: 10260 Robo (con violencia) :97289 Con uso de moto: 3734
## 2019-04: 10256 Robo Automotor : 2082
## 2019-02: 10141 Doloso : 205
## (Other):126363 (Other) : 13
## uso_armas comuna victimas lat
## : 59444 Min. : 1.00 Min. : 1.00 Min. :-34.70
## Arma cortante: 2258 1st Qu.: 3.00 1st Qu.: 1.00 1st Qu.:-34.63
## Arma de fuego: 5023 Median : 7.00 Median : 1.00 Median :-34.61
## SD :122484 Mean : 7.25 Mean : 1.17 Mean :-34.61
## 3rd Qu.:12.00 3rd Qu.: 1.00 3rd Qu.:-34.59
## Max. :15.00 Max. :16.00 Max. :-34.53
## NA's :1103 NA's :178704 NA's :1239
## lon
## Min. :-58.53
## 1st Qu.:-58.47
## Median :-58.43
## Mean :-58.43
## 3rd Qu.:-58.40
## Max. :-58.34
## NA's :1239
En el resumen, a simple vista, vemos que la franja horaria mas comun en la que ocurren los delitos, son las 13 hs. En el 2019 sucedieron más que en el 2020. Y que son 15 comunas. Hacemos Strings As Factors para entender aun mas. Ahora hay un poco mas de información en el resumen: Dentro de los tipos de delitos, el Robo (con violencia) es el más comun, y los homicidios el que menos registros tiene. Dentro de los Subtipos: los delitos clasificados como siniestros viales son la mayoria. El uso de armas es mas repetido en armas de fuego, pero hay muchos registros sin identificar el arma.
Ahora vamos a visualizar estos datos en gráficos: En primer lugar hacemos un grafico de barras.
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.1.3
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5 v purrr 0.3.4
## v tibble 3.1.4 v dplyr 1.0.7
## v tidyr 1.1.3 v stringr 1.4.0
## v readr 2.0.1 v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
Vamos a graficar la cantidad de delitos por periodo, siendo: -Variable periodo –> eje X (categorica) -Variable delitos –> eje Y (numérica)
En la variable “periodo” tenemos 24 niveles: es decir, 12 meses por cada año (2019 y 2020). Es decir, en principio tendremos 24 o 12 barras. La variable numérica, que representa los delitos, puede ser identificada por tipo, como para diferenciar el total de delitos de cada periodo según el tipo.
ggplot(delitos)+
geom_bar(aes(x=periodo))
En este primer grafico observamos las 24 barras asociadas al total de delitos de cada uno de los 12 meses de cada año, tanto para el 2019 como para el 2020. Se observa una importante disminución en el total de delitos en el mes de ABRIL del 2020, justo cuando iniciaba el aislamiento por el COVID-19, en la Ciudad. Esta baja puede deberse a la disminución marcada de personas en circulación en la vía pública.
Ahora vamos a realizar un GRAFICO DE PUNTOS, para observar mas detalles de la base de datos.
Graficamos a partir de las siguientes variables: la latitud (eje y) y la longitud (eje x), que son 2 variables numéricas que determinan las ubicaciones geograficas de los hechos.
ggplot(delitos)+
geom_point(aes(x=lon, y=lat))
## Warning: Removed 1239 rows containing missing values (geom_point).
En este gráfico de dispersión se reconoce con claridad la forma de la Ciudad Autónoma de Buenos Aires. Esto significa que todos los delitos registrados en esta base de datos, ocurrieron dentro de los limites de la CABA. Tambien vemos que se encuentran repartidos por todo el territorio, de manera bastante homogenea, pero con ciertas zonas sin registro. Estas zonas en “blanco” podrian deberse a grandes terrenos, o espacios deshabitados, donde no circula mucha gente; o pueden deberse a que no hay registros de delitos en esas ubicaciones.
Vamos a editar el primer gráfico de barras para que la visualización sea un poco mas clara, atractiva y de facil lectura. Agregamos la variable “tipo” para clasificar las barras de los delitos por tipo. Se observan las 4 opciones dentro de “tipo” con un color distinto cada uno.
ggplot(delitos)+
geom_bar(aes(x=periodo, fill=tipo))+
scale_fill_manual(values = c("black", "seagreen3", "seagreen1", "turquoise4"))+
labs(title = "Delitos Totales en CABA", subtitle = "Periodo 2019-2020", fill = "Clasificación por Tipo", x = "Período", y = "Cantidad", caption = "Fuente: BA Data, Gobierno de la Ciudad de Buenos Aires")+
facet_grid(~anio)+
theme(legend.position="top", legend.key.size = unit(0.3, "cm"), legend.key.width = unit (0.3, "cm"), legend.title=element_text(size=8, face = "bold"), legend.text=element_text(size=7), plot.caption=element_text(face = "italic", colour = "gray35",size=6), axis.title = element_text(colour = "black",size = 8), axis.text.x = element_text(colour = "gray35",size = 6, angle = 90))
Ahora tenemos un gráfico mas claro, donde podemos observar el total de delitos, clasificados por tipo, para cada periodo (para cada mes de cad año), diferenciado por año.
si comparamos los registros del 2019 respecto al 2020, vemos que en el año 2019 el total de delitos fue mayor, en lineas generales que el total de los ocurridos en el 2020. Claro efecto de la pandemia. Tambien vemos que en los meses de enero y febrero de cada año, fueron los meses de mayor cantidad de hechos ocurridos. Los homicidios en general son muy bajos, respecto a otros tipos de delitos. La mayoría estan repartidos entre hurtos sin violencia y robos con violencia, y este patron se comporta muy similar en cada período, tanto para el 2019 como para el 2020.
ggplot(delitos)+
geom_bar(aes(x=mes, fill=tipo))+
scale_fill_manual(values = c("black", "seagreen3", "seagreen1", "turquoise4"))+
labs(title = "Delitos Totales en CABA", subtitle = "Periodo 2019-2020", fill = "Clasificación por Tipo", x = "Período", y = "Cantidad", caption = "Fuente: BA Data, Gobierno de la Ciudad de Buenos Aires")+
facet_grid(anio~.)
En este otro grafico, podemos visualizar la misma información, pero con las barras un poco menos comprimidas, al elegir la variable “mes”, y manteniendo el facetado por añO, el sentido es el mismo.Además al posicionar al facetado de otra manera no se solapan tanto los nombres de los meses.
anio_mutado <- mutate(delitos, anio=as.factor(anio))
ggplot(anio_mutado)+
geom_bar(aes(x=mes, fill=anio))+
scale_fill_manual(values = c("seagreen3", "seagreen4"))+
labs(title = "Delitos Totales en CABA", subtitle = "Periodo 2019-2020", fill = "AÑO", x = "Mes", y = "Cantidad", caption = "Fuente: BA Data, Gobierno de la Ciudad de Buenos Aires")
En este otro gráfico, tambien podemos detallar la misma ainformación visualizando los datos de otra manera. Para esto hubo que mutar la base de datos, a la varaible “anio” la pasamos de numérica a categórica, para poder realizar el grafico de barras.
- FIN -