Según la base de datos, “Delitos en Colombia”

library(readr)
Delitos_en_Colombia <- read_csv("Delitos en Colombia.csv")
## Rows: 569127 Columns: 20
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (18): TEMÁTICA, FECHA, DEPARTAMENTO, MUNICIPIO, DIA, BARRIO, ZONA, CLAS...
## dbl   (1): CODIGO DANE
## time  (1): HORA
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
Delitos_en_Colombia[!complete.cases(Delitos_en_Colombia), ]
## # A tibble: 30,791 × 20
##    TEMÁTICA FECHA DEPARTAMENTO MUNICI…¹ DIA   HORA  BARRIO ZONA  CLASE…² ARMA …³
##    <chr>    <chr> <chr>        <chr>    <chr> <tim> <chr>  <chr> <chr>   <chr>  
##  1 ABIGEATO <NA>  BOYACÁ       CHIQUIN… Lunes 21:00 VDA. … RURAL POTRER… SIN EM…
##  2 ABIGEATO <NA>  BOYACÁ       FLORESTA Lunes 13:00 CENTRO RURAL POTRER… SIN EM…
##  3 ABIGEATO <NA>  BOYACÁ       VENTAQU… Lunes 01:00 VDA. … RURAL FINCAS… SIN EM…
##  4 ABIGEATO <NA>  CASANARE     AGUAZUL  Lunes 01:10 INSP.… RURAL FINCAS… SIN EM…
##  5 ABIGEATO <NA>  MAGDALENA    PIVIJAY  Lunes 02:00 CORRE… RURAL FINCAS… ARMA B…
##  6 ABIGEATO <NA>  SUCRE        TOLÚ VI… Lunes 05:00 RURAL… RURAL FINCAS… ARMA B…
##  7 ABIGEATO <NA>  ANTIOQUIA    SANTA R… Mart… 11:00 MINA … URBA… FINCAS… ARMA D…
##  8 ABIGEATO <NA>  CESAR        EL PASO  Mart… 07:00 COR. … URBA… FINCAS… SIN EM…
##  9 ABIGEATO <NA>  CESAR        SAN DIE… Mart… 00:00 VEREDA RURAL FINCAS… SIN EM…
## 10 ABIGEATO <NA>  HUILA        LA PLATA Mart… 05:00 VERED… RURAL POTRER… SIN EM…
## # … with 30,781 more rows, 10 more variables: `MOVIL AGRESOR` <chr>,
## #   `MOVIL VICTIMA` <chr>, EDAD <chr>, SEXO <chr>, `ESTADO CIVIL` <chr>,
## #   `PAIS NACE` <chr>, `CLASE EMPLEADO` <chr>, PROFESION <chr>,
## #   ESCOLARIDAD <chr>, `CODIGO DANE` <dbl>, and abbreviated variable names
## #   ¹​MUNICIPIO, ²​`CLASE SITIO`, ³​`ARMA EMPLEADA`
Delitos_en_Colombia <- Delitos_en_Colombia[complete.cases(Delitos_en_Colombia), ]
any(is.na(Delitos_en_Colombia))
## [1] FALSE
library(dplyr)
## 
## Attaching package: 'dplyr'
## 
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## 
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
basen <- Delitos_en_Colombia %>% group_by(MUNICIPIO) %>% slice(4) 

basen %>% 
      select("MUNICIPIO", "SEXO", "ZONA", "TEMÁTICA") -> basen2

Para generar la nueva base de datos definimos:

  • El sexo en codigo binario, siendo las mujeres 1 y los hombres 0
  • la zona en codigo binario, siendo la zona rural 1 y la zona urbana 0 ### Y por medio de la funcion summarise se obtuvo el porcentaje de mujeres y el porcentaje de la zona rural.
Delitos_en_Colombia$SEXO = ifelse(Delitos_en_Colombia$SEXO == "FEMENINO", 1, 0)
Delitos_en_Colombia$ZONA = ifelse(Delitos_en_Colombia$ZONA == "RURAL", 1, 0)

Delitos_en_Colombia %>% 
  select("MUNICIPIO", "TEMÁTICA", "ZONA", "SEXO") %>% 
  group_by(MUNICIPIO, TEMÁTICA)%>% 
  summarise( Cantidad=n(), Muj= (sum(SEXO/Cantidad*100)), Zonaa = sum(ZONA/Cantidad*100))-> fin
## `summarise()` has grouped output by 'MUNICIPIO'. You can override using the
## `.groups` argument.

1.1 Para hallar la correlación entre las variables “Hurto a Personas” y “Homicidios” utilizamos el código cor.

library(tidyr)

fin3 = fin[, -c(4,5)] %>% pivot_wider(names_from = TEMÁTICA, values_from = Cantidad)               
put1 = fin3 %>% 
  filter(complete.cases(`HURTO A PERSONAS`, HOMICIDIOS))  

 cor(put1$`HURTO A PERSONAS`, put1$HOMICIDIOS)
## [1] 0.8303711

Al hacer el procedimiento para hallar la correlación entre la cantidad de homicidios y robos, nos dió 83%, lo que quiere decir que hay una correlación alta.

1.2 Por otro lado, para demostrar los municipios con mayor cantidad de delitos hicimos un diagrama de barras.

library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
## ✔ ggplot2 3.3.6     ✔ stringr 1.4.1
## ✔ tibble  3.1.8     ✔ forcats 0.5.2
## ✔ purrr   0.3.4     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
library(datasets)

top = put1[order(put1$`DELITOS SEXUALES`, put1$EXTORCIÓN, put1$HOMICIDIOS, put1$`HURTO A PERSONAS`, put1$`HURTO A RESIDENCIAS`, put1$`LESIONES PERSONALES`, put1$`VIOLENCIA INTRAFAMILIAR`, put1$AMENAZA, put1$`CABEZA DE GANADO`, put1$`PIRATERIA TERRESTRE`, put1$SECUESTRO, put1$ABIGEATO, decreasing = TRUE), c("MUNICIPIO", "DELITOS SEXUALES", "EXTORCIÓN", "HOMICIDIOS", "HURTO A PERSONAS", "HURTO A RESIDENCIAS", "LESIONES PERSONALES", "VIOLENCIA INTRAFAMILIAR", "AMENAZA", "CABEZA DE GANADO", "PIRATERIA TERRESTRE", "SECUESTRO", "ABIGEATO")]                      

top10 =data.frame(top[1:10, 1:13])

library(plotly)
## 
## Attaching package: 'plotly'
## 
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## 
## The following object is masked from 'package:stats':
## 
##     filter
## 
## The following object is masked from 'package:graphics':
## 
##     layout
grafico = plot_ly(top10, x = ~MUNICIPIO, y = ~`DELITOS SEXUALES`, name = "Delitos Sexuales", type = 'bar') %>% add_trace(y = ~EXTORCIÓN, name = "Extorción")%>% add_trace(y = ~HOMICIDIOS, name = "Homimicios")%>% add_trace(y = ~`HURTO A PERSONAS`, name = "Hurto a Personas")%>% add_trace(y = ~`HURTO A RESIDENCIAS`, name = "Hurto a Residencias")%>% add_trace(y = ~`LESIONES PERSONALES`, name = "Lesiones Personales")%>% add_trace(y = ~`VIOLENCIA INTRAFAMILIAR`, name = "Violencia Intrafamiliar")%>% add_trace(y = ~AMENAZA, name = "Amenaza")%>% add_trace(y = ~`CABEZA DE GANADO`, name = "Cabeza de Ganado")%>% add_trace(y = ~`PIRATERIA TERRESTRE`, name = "Piratería terrestre")%>% add_trace(y = ~SECUESTRO, name = "Secuestro")%>% add_trace(y = ~ABIGEATO, name = "Abigueato")

Gráfica 1

Con la gráfica de las 10 ciudades con mas delitos concluimos:

  • En el total de temáticas, podemos observar que las que más frecuencia tienen es hurto a personas y lesiones personales, donde Bogotá es la que encabeza a lista.

Gráfica 2

  • En cuanto a las temáticas menos usadas son abigueato, pirateria terreste y cabeza de ganado.

Gráfica 3

  • En las capitales de los departamentos tales como Cali, Barranquilla y Medellin se presenta mayor cantidad de delitos.

1.3 Histograma Razón entre hombres y mujeres

Delitos_en_Colombia %>% 
  select(MUNICIPIO,SEXO) %>% 
  group_by(MUNICIPIO, SEXO) %>% 
  summarise(hola = n()) %>% 
  pivot_wider(names_from = SEXO, values_from = hola) -> t3
## `summarise()` has grouped output by 'MUNICIPIO'. You can override using the
## `.groups` argument.
colnames(t3) = c("Muni", "Hombre", "Mujer")
t3$razon = t3$Hombre/t3$Mujer

hist(t3$razon, main = "Homicidios hombres y mujeres", col = "steelblue1", xlab = "Razon", ylab = "Frecuencia")

En el eje x están las razones que corresponden a la división de los hombre y mujeres, y en el eje y se ven las frecuencias de las razones dentro de la base de datos.

2. Base de datos para Bogotá

DC = Delitos_en_Colombia 
DC %>% select("MUNICIPIO", "ARMA EMPLEADA") %>% filter(MUNICIPIO == "BOGOTÁ D.C. (CT)") -> dbog

2.1 Reclasificación del tipo de arma empleada en:

  • Sin empleo de armas
  • Arma de fuego
  • Arma blanca
  • Otra
dbog %>% 
  select(MUNICIPIO, `ARMA EMPLEADA`) %>% 
  group_by(MUNICIPIO, `ARMA EMPLEADA`)%>% 
  summarise( conteo =n())->DATABOG
## `summarise()` has grouped output by 'MUNICIPIO'. You can override using the
## `.groups` argument.
DATABOG %>% 
  pivot_wider(names_from = `ARMA EMPLEADA` , values_from = conteo) -> DATAFINBOG

Sin_arm = sum(DATAFINBOG$`NO REPORTADA`, DATAFINBOG$`NO REPORTADO`, DATAFINBOG$`SIN EMPLEO DE ARMAS`)

Arma_fuego = sum(DATAFINBOG$`ARMA DE FUEGO`)

Arma_blanca = sum(DATAFINBOG$`ARMA BLANCA`, DATAFINBOG$`ARMA BLANCA / CORTOPUNZANTE`, DATAFINBOG$`ARMAS BLANCAS`, DATAFINBOG$CORTANTES, DATAFINBOG$CORTOPUNZANTES, DATAFINBOG$CUCHILLA, DATAFINBOG$JERINGA, DATAFINBOG$PUNZANTES)

Otro = sum(DATAFINBOG$ACIDO, DATAFINBOG$CONTUNDENTES, DATAFINBOG$`AGUA CALIENTE`, DATAFINBOG$`ARTEFACTO EXPLOSIVO/CARGA DINAMITA`, DATAFINBOG$`CARRO BOMBA`, DATAFINBOG$`CARTA EXTORSIVA`, DATAFINBOG$`CINTAS/CINTURON`, DATAFINBOG$COMBUSTIBLE, DATAFINBOG$`CUERDA/SOGA/CADENA`, DATAFINBOG$DIRECTA, DATAFINBOG$ESCOPOLAMINA, DATAFINBOG$GASES, DATAFINBOG$GASOLINA, DATAFINBOG$`GRANADA DE MANO`, DATAFINBOG$`LLAMADA TELEFONICA`, DATAFINBOG$`LLAVE MAESTRA`, DATAFINBOG$MIXTA, DATAFINBOG$MOTO, DATAFINBOG$`PAPA EXPLOSIVA`, DATAFINBOG$PERRO, DATAFINBOG$`POLVORA(FUEGOS PIROTECNICOS)`, DATAFINBOG$QUIMICOS, DATAFINBOG$`REDES SOCIALES`, DATAFINBOG$`SUSTANCIAS TOXICAS`, DATAFINBOG$VEHICULO, DATAFINBOG$VENENO, DATAFINBOG$`-`)

library(tibble)

data_frame(DATAFINBOG$MUNICIPIO, Sin_arm, Arma_fuego, Arma_blanca, Otro) -> g
## Warning: `data_frame()` was deprecated in tibble 1.1.0.
## Please use `tibble()` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was generated.
library(knitr)
kable(g)
DATAFINBOG$MUNICIPIO Sin_arm Arma_fuego Arma_blanca Otro
BOGOTÁ D.C. (CT) 35614 11648 17005 37394

2.2 Proporción de delitos cometidos en Bogotá, por cada tipo de arma empleada.

DATAFINBOGTotal = sum(Sin_arm, Arma_fuego, Arma_blanca, Otro)

((Sin_arm)/(DATAFINBOGTotal)*100)
## [1] 35.03212
((Arma_blanca)/(DATAFINBOGTotal)*100)
## [1] 16.72716
((Arma_fuego)/(DATAFINBOGTotal)*100)
## [1] 11.45769
((Otro)/(DATAFINBOGTotal)*100)
## [1] 36.78303

Al calcular el promedio de la clasificación de tipos de armas observamos que:

  • En Bogotá se cometen más delitos con otro tipo de armas como ácidos o artefactos explosivos y sin uso de armas.
  • El tipo de armas menos empleadas en Bogotá son las armas de fuego.

2.3 Tabla cruzada de las variables sexo y el tipo de delito.

Mujeres 1 y hombres 0

Delitos_en_Colombia %>% 
  select("SEXO", "TEMÁTICA") %>% 
  group_by(SEXO, TEMÁTICA) %>% 
  summarise(conteo=n()) -> STP
## `summarise()` has grouped output by 'SEXO'. You can override using the
## `.groups` argument.
STP %>% 
  pivot_wider(names_from = TEMÁTICA, values_from = conteo) -> STP
library(knitr)

kable(STP)
SEXO ABIGEATO AMENAZA CABEZA DE GANADO DELITOS SEXUALES EXTORCIÓN HOMICIDIOS HURTO A PERSONAS HURTO A RESIDENCIAS LESIONES PERSONALES PIRATERIA TERRESTRE SECUESTRO VIOLENCIA INTRAFAMILIAR
0 1176 3322 1880 5273 6268 22723 129752 30497 81754 852 296 9063
1 260 2876 428 32038 2592 1989 78228 25886 55870 15 111 45187

Al hacer el análisis de la tabla concluimos que:

  • Los hombres son más victimas en hurto a personas y lesiones personales con respecto a las mujeres.
  • En cambio, las mujeres son más victimas de delitos sexuales y violencia intrafamiliar que los hombres
  • En el tipo de delito pirateria terrestre, se observa una gran diferencia entre hombres y mujeres, siendo los hombres los más afectados.

2.4 Diagrama de caja comparación de la distribución de las edades y el tipo de arma empleada en los delitos.

  • ArBl significa Arma Blanca
  • SEAR significa sin empleo de arma
  • ArFu significa Arma De Fuego
  • Otro
Delitos_en_Colombia %>% 
  select("EDAD", "MUNICIPIO", "ARMA EMPLEADA") %>% 
  filter(MUNICIPIO == "BOGOTÁ D.C. (CT)") -> edad

edad %>% 
  filter(`ARMA EMPLEADA` %in% c("ARMA BLANCA", "ARMA BLANCA / CORTOPUNZANTE", "ARMAS BLANCAS", "CORTANTES", "CORTOPUNZANTES", "CUCHILLA", "JERINGA", "PUNZANTES" )) -> ED1

edad %>% 
  filter(`ARMA EMPLEADA` %in% c("SIN EMPLEO DE ARMAS")) -> ED2

edad %>% 
  filter(`ARMA EMPLEADA` %in% c("ARMA DE FUEGO")) -> ED3

edad %>% 
  filter(`ARMA EMPLEADA` %in% c("ACIDO" , "AGUA CALIENTE" , "ARTEFACTO EXPLOSIVO/CARGA DINAMITA" , "CARRO BOMBA" , "CARTA EXTORSIVA" , "CINTAS/CINTURON", "COMBUSTIBLE", "CUERDA/SOGA/CADENA", "DIRECTA", "ESCOPOLAMINA", "GASES", "GASOLINA", "GRANADA DE MANO", " LLAMADA TELEFONICA", "LLAVE MAESTRA", "MIXTA", "MOTO", "NO REPORTADA", "NO REPORTADO", "PAPA EXPLOSIVA", "PERRO", "POLVORA(FUEGOS PIROTECNICOS)", "QUIMICOS", "REDES SOCIALES", "SUSTANCIAS TOXICAS", "VEHICULO", "VENEO", "-")) -> ED4


ED1$EDAD=as.numeric(ED1$EDAD)
## Warning: NAs introduced by coercion
ARMABLANCA=ED1$EDAD

ED2$EDAD=as.numeric(ED2$EDAD)
## Warning: NAs introduced by coercion
SINEMPLEODEARMA=ED2$EDAD

ED3$EDAD=as.numeric(ED3$EDAD)
## Warning: NAs introduced by coercion
ARMADEFUEGO=ED3$EDAD

ED4$EDAD=as.numeric(ED4$EDAD)
## Warning: NAs introduced by coercion
OTRO=ED4$EDAD


boxplot(ARMABLANCA, SINEMPLEODEARMA, ARMADEFUEGO, OTRO, main = "Diagrama de Caja y Bigotes", col = "lightgreen", horizontal = T, notch = T, names = c("ArBL", "SEAR", "ArFU", "Otro"))

En cuanto al diagrama de cajas observamos que:

  • El rango de edades de las personas victimas de delitos es aproximadamente entre 18 y 45 años.
  • En el tipo de arma otro el rango de victimas está aproximadamente entre 18 y 39 años y con una menor frecuencia en la edad 75 en adelante.
  • En cuanto el uso de armas de fuego se presentan más casos en personas que tienen aproximadamente 25 y 42 años y cuenta con casos menos frecuentes en la edad de 70 en adelante.
  • Para sin uso de armas, el rango va desde los 25 y 45 años con datos excluidos desde los 76 en adelante.
  • Para arma blanca en rango está entre los 22 y 35 años con datos menos frecuentes entre los 58 años en adelante y recien nacidos.