Según la base de datos, “Delitos en Colombia”
Miramos si hay casos incompletos.
Al ver que hay casos incompletos, los eliminamos para tener la base de datos limpia.
Seleccionamos las variables requeridas para la nueva base de datos.
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") -> basen2Para 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)") -> dbog2.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.