library(readxl)
library(knitr)
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.2.2
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
## ✔ ggplot2 3.3.6 ✔ purrr 0.3.5
## ✔ tibble 3.1.8 ✔ dplyr 1.0.10
## ✔ tidyr 1.2.1 ✔ stringr 1.4.1
## ✔ readr 2.1.3 ✔ forcats 0.5.2
## Warning: package 'tidyr' was built under R version 4.2.2
## Warning: package 'readr' was built under R version 4.2.2
## Warning: package 'purrr' was built under R version 4.2.2
## Warning: package 'dplyr' was built under R version 4.2.2
## Warning: package 'forcats' was built under R version 4.2.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
library(lubridate) #transformación de los datos a fecha
## Warning: package 'lubridate' was built under R version 4.2.2
## Loading required package: timechange
## Warning: package 'timechange' was built under R version 4.2.2
##
## Attaching package: 'lubridate'
##
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
library(corrplot)
## Warning: package 'corrplot' was built under R version 4.2.2
## corrplot 0.92 loaded
library(extrafont)
## Registering fonts with R
library(viridis)
## Warning: package 'viridis' was built under R version 4.2.2
## Loading required package: viridisLite
library(ggplot2)
library(dplyr)
El siguiente análisis de datos trata sobre las incidencias de delitos presentadas en diferentes regiones de Ecuador durante el año 2013. Lo que se pretende con este analisis es buscar alternativas que puedan ayudar a disminuir la delincuencia en este pais. Por eso es importante llevar acabo un analisis de los datos obtenidos y poder sacar nuestras conclusiones. Analizaremos a fondo cada una de las variables que consideremos de importancia para obtener información consistente y precisa.
library(readr)
Analisis_Delincuencia_Base_datos <- read_csv("Analisis_Delincuencia_Base_datos.csv")
## Warning: One or more parsing issues, call `problems()` on your data frame for details,
## e.g.:
## dat <- vroom(...)
## problems(dat)
## Rows: 21004 Columns: 45
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (29): cod_delito, zona_senplades, provincia, canton, cod_subcircuito, d...
## dbl (5): sector, semana, año_infraccion, dia_mes, vd_edad
## lgl (10): t_delito_pj, t_agresion, lugar_infraccion, condicion_lugar, quien...
## time (1): hora_registro
##
## ℹ 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.
#View(Analisis_Delincuencia_Base_datos)
#str(Analisis_Delincuencia_Base_datos)
summary(Analisis_Delincuencia_Base_datos)
## cod_delito zona_senplades provincia canton
## Length:21004 Length:21004 Length:21004 Length:21004
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## cod_subcircuito distrito circuito subcircuito
## Length:21004 Length:21004 Length:21004 Length:21004
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## sector zona f_registro hora_registro
## Min. :1 Length:21004 Length:21004 Length:21004
## 1st Qu.:1 Class :character Class :character Class1:hms
## Median :1 Mode :character Mode :character Class2:difftime
## Mean :1 Mode :numeric
## 3rd Qu.:1
## Max. :1
## NA's :20628
## f_infraccion semana semanas 2 año_infraccion
## Length:21004 Min. : 1.00 Length:21004 Min. :2013
## Class :character 1st Qu.:15.00 Class :character 1st Qu.:2013
## Mode :character Median :26.00 Mode :character Median :2013
## Mean :26.78 Mean :2013
## 3rd Qu.:39.00 3rd Qu.:2013
## Max. :52.00 Max. :2013
## NA's :20626
## mes_infraccion hora_infraccion dia_infraccion rango_
## Length:21004 Length:21004 Length:21004 Length:21004
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## dia_mes fuente t_delito_pj delito_pj
## Min. : 1.00 Length:21004 Mode:logical Length:21004
## 1st Qu.: 8.00 Class :character NA's:21004 Class :character
## Median :16.00 Mode :character Mode :character
## Mean :15.73
## 3rd Qu.:23.00
## Max. :31.00
##
## cmi modus_operandi arma_utilizada t_agresion
## Length:21004 Length:21004 Length:21004 Mode:logical
## Class :character Class :character Class :character NA's:21004
## Mode :character Mode :character Mode :character
##
##
##
##
## lugar_infraccion condicion_lugar quien_comete_delito veh_utilizado
## Mode:logical Mode:logical Mode:logical Mode:logical
## NA's:21004 NA's:21004 NA's:21004 NA's:21004
##
##
##
##
##
## veh_color veh_marca modelo victima_denunciante
## Mode:logical Mode:logical Mode:logical Mode:logical
## NA's:21004 NA's:21004 NA's:21004 NA's:21004
##
##
##
##
##
## vd_apellidos_nombres vd_sexo vd_edad vd_estado_civil
## Length:21004 Length:21004 Min. : 3.00 Length:21004
## Class :character Class :character 1st Qu.: 28.00 Class :character
## Mode :character Mode :character Median : 35.00 Mode :character
## Mean : 49.04
## 3rd Qu.: 46.00
## Max. :2014.00
## NA's :1
## vd_nacionalidad vd_etnia vd_profesion_ocupacion
## Length:21004 Length:21004 Length:21004
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## vd_actividad vd_instrucciOn
## Length:21004 Length:21004
## Class :character Class :character
## Mode :character Mode :character
##
##
##
##
Segun los resultados obtenidos, las principales caracteristicas que presenta la tabla son los siguientes: El total de observaciones del conjunto de datos es 21004, el numero total de variables es 45 y se seleccionaron un total de 25 variables que son de mayor importancia para llevar acabo nuestro analisis de datos y poder obtener resultados que nos permitan cumplir nuestro objetivo.
#Dim (Analisis_Delincuencia_Base_datos)
colnames(Analisis_Delincuencia_Base_datos)
## [1] "cod_delito" "zona_senplades" "provincia"
## [4] "canton" "cod_subcircuito" "distrito"
## [7] "circuito" "subcircuito" "sector"
## [10] "zona" "f_registro" "hora_registro"
## [13] "f_infraccion" "semana" "semanas 2"
## [16] "año_infraccion" "mes_infraccion" "hora_infraccion"
## [19] "dia_infraccion" "rango_" "dia_mes"
## [22] "fuente" "t_delito_pj" "delito_pj"
## [25] "cmi" "modus_operandi" "arma_utilizada"
## [28] "t_agresion" "lugar_infraccion" "condicion_lugar"
## [31] "quien_comete_delito" "veh_utilizado" "veh_color"
## [34] "veh_marca" "modelo" "victima_denunciante"
## [37] "vd_apellidos_nombres" "vd_sexo" "vd_edad"
## [40] "vd_estado_civil" "vd_nacionalidad" "vd_etnia"
## [43] "vd_profesion_ocupacion" "vd_actividad" "vd_instrucciOn"
Delincuencia<-select(Analisis_Delincuencia_Base_datos, canton,distrito,
circuito, subcircuito, zona, f_registro, hora_registro,
f_infraccion, semana, año_infraccion, mes_infraccion, hora_infraccion,
dia_infraccion, rango_, dia_mes, delito_pj, cmi, modus_operandi,
arma_utilizada, vd_sexo, vd_edad, vd_estado_civil,
vd_nacionalidad, vd_etnia, vd_profesion_ocupacion
)
View(Delincuencia)
Las variables que hemos seleccionado se muestran en la siguiente tabla
kable(names(Delincuencia),col.names = c('Variable'), caption = "TABLA 1 :Variables seleccionadas para el análisis.")
| Variable |
|---|
| canton |
| distrito |
| circuito |
| subcircuito |
| zona |
| f_registro |
| hora_registro |
| f_infraccion |
| semana |
| año_infraccion |
| mes_infraccion |
| hora_infraccion |
| dia_infraccion |
| rango_ |
| dia_mes |
| delito_pj |
| cmi |
| modus_operandi |
| arma_utilizada |
| vd_sexo |
| vd_edad |
| vd_estado_civil |
| vd_nacionalidad |
| vd_etnia |
| vd_profesion_ocupacion |
summary(Delincuencia)
## canton distrito circuito subcircuito
## Length:21004 Length:21004 Length:21004 Length:21004
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## zona f_registro hora_registro f_infraccion
## Length:21004 Length:21004 Length:21004 Length:21004
## Class :character Class :character Class1:hms Class :character
## Mode :character Mode :character Class2:difftime Mode :character
## Mode :numeric
##
##
##
## semana año_infraccion mes_infraccion hora_infraccion
## Min. : 1.00 Min. :2013 Length:21004 Length:21004
## 1st Qu.:15.00 1st Qu.:2013 Class :character Class :character
## Median :26.00 Median :2013 Mode :character Mode :character
## Mean :26.78 Mean :2013
## 3rd Qu.:39.00 3rd Qu.:2013
## Max. :52.00 Max. :2013
## NA's :20626
## dia_infraccion rango_ dia_mes delito_pj
## Length:21004 Length:21004 Min. : 1.00 Length:21004
## Class :character Class :character 1st Qu.: 8.00 Class :character
## Mode :character Mode :character Median :16.00 Mode :character
## Mean :15.73
## 3rd Qu.:23.00
## Max. :31.00
##
## cmi modus_operandi arma_utilizada vd_sexo
## Length:21004 Length:21004 Length:21004 Length:21004
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## vd_edad vd_estado_civil vd_nacionalidad vd_etnia
## Min. : 3.00 Length:21004 Length:21004 Length:21004
## 1st Qu.: 28.00 Class :character Class :character Class :character
## Median : 35.00 Mode :character Mode :character Mode :character
## Mean : 49.04
## 3rd Qu.: 46.00
## Max. :2014.00
## NA's :1
## vd_profesion_ocupacion
## Length:21004
## Class :character
## Mode :character
##
##
##
##
Para facilitar nuestro analisis exploratorio de datos, vamos a cambiar los tipos de variables para manipularlos mejor
Delincuencia$canton<-factor(Delincuencia$canton,levels=c("BALAO","DURAN",
"EL TRIUNFO","GUAYAQUIL",
"NARANJAL","NOBOL","PLAYAS",
"SALITRE", "SAMBORONDON"))
Delincuencia$canton<-factor(Delincuencia$canton)
Delincuencia$distrito<-factor(Delincuencia$distrito)
Delincuencia$circuito<-factor(Delincuencia$circuito)
Delincuencia$vd_edad<-as.numeric(Delincuencia$vd_edad)
Delincuencia$vd_estado_civil<-factor(Delincuencia$vd_estado_civil)
Delincuencia$vd_nacionalidad<-factor(Delincuencia$vd_nacionalidad)
Delincuencia$vd_etnia<-factor(Delincuencia$vd_etnia)
Delincuencia$vd_profesion_ocupacion<-factor(Delincuencia$vd_profesion_ocupacion)
Delincuencia$modus_operandi<-factor(Delincuencia$modus_operandi)
Delincuencia$arma_utilizada<-factor(Delincuencia$arma_utilizada)
Delincuencia$vd_sexo<-factor(Delincuencia$vd_sexo)
Delincuencia$f_infraccion<-as.Date(Delincuencia$f_infraccion)
Delincuencia$f_registro<-as.Date(Delincuencia$f_registro)
Delincuencia$mes_infraccion<-factor(Delincuencia$mes_infraccion)
Delincuencia$dia_infraccion<-factor(Delincuencia$dia_infraccion)
Delincuencia$hora_infraccion<-hms(Delincuencia$hora_infraccion)
## Warning in .parse_hms(..., order = "HMS", quiet = quiet): Some strings failed to
## parse, or all strings are NAs
str(Delincuencia)
## tibble [21,004 × 25] (S3: tbl_df/tbl/data.frame)
## $ canton : Factor w/ 9 levels "BALAO","DURAN",..: 4 4 4 4 4 4 4 4 4 4 ...
## $ distrito : Factor w/ 12 levels "09 DE OCTUBRE",..: 8 2 4 8 12 1 9 12 12 9 ...
## $ circuito : Factor w/ 69 levels "9 DE OCTUBRE",..: 60 53 29 60 66 26 17 62 27 57 ...
## $ subcircuito : chr [1:21004] "SAN FRANCISCO 2" "PUERTO HONDO 2" "TRINITARIA NORTE 2" "SAN FRANCISCO 4" ...
## $ zona : chr [1:21004] "ZONA URBANA" "ZONA URBANA" "ZONA URBANA" "ZONA RURAL" ...
## $ f_registro : Date[1:21004], format: "0002-01-20" "0006-01-20" ...
## $ hora_registro : 'hms' num [1:21004] 01:20:00 09:45:00 23:30:00 16:50:00 ...
## ..- attr(*, "units")= chr "secs"
## $ f_infraccion : Date[1:21004], format: "0001-01-20" "0006-01-20" ...
## $ semana : num [1:21004] 1 1 1 2 2 2 3 3 3 3 ...
## $ año_infraccion : num [1:21004] 2013 2013 2013 2013 2013 ...
## $ mes_infraccion : Factor w/ 12 levels "abril","agosto",..: 4 4 4 4 4 4 4 4 4 4 ...
## $ hora_infraccion :Formal class 'Period' [package "lubridate"] with 6 slots
## .. ..@ .Data : num [1:21004] NA NA 0 NA 0 0 NA 0 NA 0 ...
## .. ..@ year : num [1:21004] NA NA 0 NA 0 0 NA 0 NA 0 ...
## .. ..@ month : num [1:21004] NA NA 0 NA 0 0 NA 0 NA 0 ...
## .. ..@ day : num [1:21004] NA NA 0 NA 0 0 NA 0 NA 0 ...
## .. ..@ hour : num [1:21004] NA NA 22 NA 7 14 NA 5 NA 17 ...
## .. ..@ minute: num [1:21004] NA NA 0 NA 0 0 NA 30 NA 30 ...
## $ dia_infraccion : Factor w/ 7 levels "domingo","jueves",..: 4 1 1 6 1 6 5 2 2 7 ...
## $ rango_ : chr [1:21004] "DESCONOCIDA" "DESCONOCIDA" "22:00 a 22:59" "DESCONOCIDA" ...
## $ dia_mes : num [1:21004] 1 6 6 12 13 12 16 17 17 18 ...
## $ delito_pj : chr [1:21004] "ASESINATO" "ASESINATO" "ASESINATO" "ASESINATO" ...
## $ cmi : chr [1:21004] "HOMICIDIOS/ASESINATOS" "HOMICIDIOS/ASESINATOS" "HOMICIDIOS/ASESINATOS" "HOMICIDIOS/ASESINATOS" ...
## $ modus_operandi : Factor w/ 23 levels "AGRESION_FISICA",..: NA NA NA NA NA NA NA NA NA NA ...
## $ arma_utilizada : Factor w/ 3 levels "ARMA BLANCA",..: 1 1 2 2 1 2 2 1 2 2 ...
## $ vd_sexo : Factor w/ 3 levels "#NULL!","FEMENINO",..: 3 3 3 3 3 3 3 3 3 3 ...
## $ vd_edad : num [1:21004] 36 24 20 72 23 36 41 38 28 46 ...
## $ vd_estado_civil : Factor w/ 10 levels "CASADO","DIVORCIADO",..: 7 7 8 8 8 8 7 7 1 2 ...
## $ vd_nacionalidad : Factor w/ 6 levels "COLOMBIANA","COREANA",..: 3 3 3 3 3 3 3 3 3 3 ...
## $ vd_etnia : Factor w/ 7 levels "AFRO ECUATORIANO",..: 5 5 2 5 2 5 5 5 5 5 ...
## $ vd_profesion_ocupacion: Factor w/ 92 levels "ADMINISTRADOR DE CANCHA DEPORTIVA",..: 14 34 80 17 83 17 17 36 35 87 ...
Las bases de datos a menudo presentan datos ausentes que pueden generar problemas a la hora de hacer analisis estadisticos o hacer una representacion grafica de los datos. La siguiente tabla nos dice la cantidad de valores perdidos, ausenten o celdas vacias en cada una de las variables de la tabla
kable(colSums(is.na(Delincuencia)), col.names = c('Cantidad'), caption = "TABLA 2 :Total de valores perdidos")
| Cantidad | |
|---|---|
| canton | 0 |
| distrito | 0 |
| circuito | 0 |
| subcircuito | 0 |
| zona | 16409 |
| f_registro | 0 |
| hora_registro | 1 |
| f_infraccion | 0 |
| semana | 20626 |
| año_infraccion | 0 |
| mes_infraccion | 0 |
| hora_infraccion | 261 |
| dia_infraccion | 0 |
| rango_ | 0 |
| dia_mes | 0 |
| delito_pj | 20626 |
| cmi | 0 |
| modus_operandi | 386 |
| arma_utilizada | 20626 |
| vd_sexo | 0 |
| vd_edad | 1 |
| vd_estado_civil | 20630 |
| vd_nacionalidad | 20626 |
| vd_etnia | 20627 |
| vd_profesion_ocupacion | 20641 |
Limpiamos la base de datos respecto al porcentaje de valores perdidos de las variables seleccionadas,eliminaremos las variables que tengan mas del 75% de valores perdidos.
Los valores perdidos en el resto de las variables los eliminaremos para que los análisis posteriores no se vean alterados y podamos tener mejores resultados. La mayoría de las veces se debe a fallos en la transcripción de los datos o problemas durante la recogida de datos, por ejemplo, debido a la imposibilidad para obtener cierta medida u observación.
Delincuencia <- Delincuencia[,-which(colMeans(is.na(Delincuencia))>= 0.75)]
Delincuencia<-na.omit(Delincuencia)
#summary(Delincuencia)
kable(names(Delincuencia),col.names = c('Variables'), caption = "TABLA 3 . Variables a utilizar para el análisis")
| Variables |
|---|
| canton |
| distrito |
| circuito |
| subcircuito |
| f_registro |
| hora_registro |
| f_infraccion |
| año_infraccion |
| mes_infraccion |
| hora_infraccion |
| dia_infraccion |
| rango_ |
| dia_mes |
| cmi |
| modus_operandi |
| vd_sexo |
| vd_edad |
#str(Delincuencia)
Un valor atípico u outlier, es una observación significativamente distinta del resto de datos que presenta una variable, de tal magnitud que se puede considerar un valor anómalo. En nuestra base de datos la unica variable que presente este tipo de datos es en el sexo y los vamos a eliminiar ya que no influye en nuestro analisis de datos.
eliminarNull<- Delincuencia$vd_sexo %in% c("#NULL!")
Delincuencia<-Delincuencia[!eliminarNull,]
Delincuencia$vd_sexo<-droplevels(Delincuencia$vd_sexo)
#levels(Delincuencia$denunciante_sexo)
Con estas representaciones graficas nos daremos cuenta de forma visual que es lo que hay en nuestra base de datos y comprender mejor lo que queremos lograr. A continuación se muestra la cantidad exacta de incidencias por sexo, donde el hombre se lleva el mayor numero de incidencias con un total de 15115 incidencias mientras que la mujer 5494.
TablaSexo<-table(Delincuencia$vd_sexo)
TablaSexo
##
## FEMENINO MASCULINO
## 5494 15115
La gráfica 1 nos muestra que las victimas que sufren mayor delincuencia son los hombres.
ggplot(Delincuencia, aes(x=vd_sexo,fill=vd_sexo)) +
geom_bar() +ggtitle("Gráfica 1. Sexo de la persona afectada")+
labs(x = "Sexo",y = "Frecuencia")+
scale_fill_brewer(palette = "Accent")+
theme(legend.text = element_text("blue",size = 6), axis.text=element_text(size=5),axis.title=element_text(size=10,face="italic"))
## Warning in grid.Call(C_stringMetric, as.graphicsAnnot(x$label)): font family not
## found in Windows font database
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, : font
## family not found in Windows font database
En la gráfica 2 observamos que en Guyaquil se presenta mas la incidencia de delitos.
ggplot(Delincuencia, aes(x=canton,fill=canton)) +
geom_bar() +ggtitle("Gráfica 2. Distribucion de las incidencias por canton")+
labs(x = "canton",y = "Frecuencia")+
scale_fill_brewer(palette = "Accent")+
theme(legend.text = element_text("blue",size = 6), axis.text=element_text(size=5),axis.title=element_text(size=10,face="italic"))
## Warning in RColorBrewer::brewer.pal(n, pal): n too large, allowed maximum for palette Accent is 8
## Returning the palette you asked for with that many colors
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, : font
## family not found in Windows font database
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, : font
## family not found in Windows font database
Vamos a analizar el total de datos sobre la variable edad para ver Cuál es la edad en la que más son afectadas las personas por los diferentes tipos de delito
Delincuencia%>%count(vd_edad, sort=TRUE)
## # A tibble: 84 × 2
## vd_edad n
## <dbl> <int>
## 1 13 1405
## 2 32 735
## 3 31 712
## 4 34 697
## 5 30 684
## 6 33 679
## 7 36 674
## 8 28 660
## 9 29 640
## 10 27 639
## # … with 74 more rows
Asi que la edad con más frecuencia de delitos son a los 13 años con un total de 1405 observaciones. Las victimas entre el rango de 13 a 50 años son las que más sufren de delitos, como se observa en la gráfica 3. Tambien podemos ver que hay una baja drástica dentro de la gráfica porque en la edad de 15 años solo presenta un total de 3 observaciones.
histEdad<- hist(Delincuencia$vd_edad,
main=" Grafica 3. Edad de las victimas",
xlab = "edad",
ylab = "Frecuencia",
xlim = c(0, 150),
breaks = 1000)
Vamos a graficar los meses para observar cuales son los 3 meses con mayor incidencia de delitos. Como se puede observar en la gráfica 4, los 3 meses con mayor número de delitos son Abril,Julio y Mayo.
ggplot(Delincuencia, aes(x=mes_infraccion,fill=mes_infraccion)) +
geom_bar() +ggtitle("Gráfica 4")+
scale_fill_brewer(palette = "Paired")+
theme(legend.position = "top",legend.text = element_text("blue",size = 6), axis.text=element_text(size=5),axis.title=element_text(size=10,face="italic"))
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, : font
## family not found in Windows font database
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, : font
## family not found in Windows font database
El día en el que más se presentan los delitos es el día viernes, le sigue el miércoles y sabado con la misma cantidad de incidencias y en tercer lugar esta el día lunes.(Gráfica 5)
ggplot(Delincuencia, aes(x=dia_infraccion,fill=dia_infraccion)) +
geom_bar() + ggtitle("Gráfica 5")+
scale_fill_brewer(palette = "Accent")+
theme(legend.position = "top",legend.text = element_text("blue",size = 6), axis.text=element_text(size=5),axis.title=element_text(size=10,face="italic"))
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, : font
## family not found in Windows font database
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, : font
## family not found in Windows font database
En la gráfica 6 vemos que el tipo de delito que ocurre con mayor frecuencia es el robo a personas.
ggplot(Delincuencia, aes(x=cmi,fill=cmi)) +
geom_bar() + ggtitle("Gráfica 6. Tipos de robo")+
scale_fill_brewer(palette = "Accent")+
theme(legend.position = "top",legend.text = element_text("blue",size = 6), axis.text=element_text(size=5),axis.title=element_text(size=10,face="italic"))
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, : font
## family not found in Windows font database
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, : font
## family not found in Windows font database
La correlación determina la relación lineal entre dos o más variables, es decir, la fuerza y la dirección de una posible relación entre variables. Dicho de otra forma, si los valores de una variable tienden a subir, los de otra u otras variables, harán lo mismo si están correladas positivamente o a la inversa, si lo están negativamente. Esto no quiere decir, que una correlación entre variables indique una relación causa-efecto.
Tabla 4. Tabla de contingencia de las variables sexo y tipo de delito(cmi).
#table(Delincuencia$delito_tipo)
#table(Delincuencia$denunciante_sexo)
tabla1<-table(Delincuencia$vd_sexo, Delincuencia$cmi)
tabla1
##
## ROBO DE ACCESORIOS DE VEHICULOS ROBO_A_LOCAL_COMERCIAL
## FEMENINO 515 215
## MASCULINO 1611 536
##
## ROBO_DE_CARROS ROBO_DE_MOTOS ROBO_DOMICILIOS ROBO_EN_CARRETERAS
## FEMENINO 407 115 1062 6
## MASCULINO 1684 1089 1734 35
##
## ROBO_PERSONAS
## FEMENINO 3174
## MASCULINO 8426
La gráfica 7 muestra una representación de la tabla 4. Podemos observar tambien que el sexo masculino es el que presenta mayor incidencia de delitos. Del delito de robo a personas 3174 son del sexo femenino y 8426 son del sexo masculino.
plot(tabla1, col=c("blue","red"), main="Gráfica 7.Tipo de delito vs Sexo del denunciante", las=1, cex.lab=0.8)
## Warning: In mosaicplot.default(x, xlab = xlab, ylab = ylab, ...) :
## extra argument 'cex.lab' will be disregarded
Tabla 5. Tabla de contingencia de las variables distrito y tipo de delito.
tabla2<-table(Delincuencia$distrito,Delincuencia$cmi)
tabla2
##
## ROBO DE ACCESORIOS DE VEHICULOS ROBO_A_LOCAL_COMERCIAL
## 09 DE OCTUBRE 375 170
## CEIBOS 58 10
## DURAN 98 74
## ESTEROS 97 38
## FLORIDA 203 70
## MODELO 797 153
## NUEVA PROSPERINA 29 26
## PASCUALES 113 43
## PORTETE 80 63
## PROGRESO 1 2
## SAMBORONDON 46 18
## SUR 229 84
##
## ROBO_DE_CARROS ROBO_DE_MOTOS ROBO_DOMICILIOS
## 09 DE OCTUBRE 369 228 237
## CEIBOS 43 16 75
## DURAN 113 64 454
## ESTEROS 195 108 180
## FLORIDA 233 129 264
## MODELO 487 125 434
## NUEVA PROSPERINA 52 57 419
## PASCUALES 177 186 231
## PORTETE 105 137 186
## PROGRESO 26 5 45
## SAMBORONDON 20 23 60
## SUR 271 126 211
##
## ROBO_EN_CARRETERAS ROBO_PERSONAS
## 09 DE OCTUBRE 0 2572
## CEIBOS 3 112
## DURAN 15 675
## ESTEROS 0 741
## FLORIDA 0 1093
## MODELO 1 2685
## NUEVA PROSPERINA 0 444
## PASCUALES 16 899
## PORTETE 0 1040
## PROGRESO 4 44
## SAMBORONDON 2 145
## SUR 0 1150
Como ya lo habiamos dicho anteriormente, el robo a personas es el delito que mas incidencia tiene. En la gráfica 8 vemos que los tres distritos que presentan más este delito son Modelo,09 de Octubre y Sur.
plot(tabla2, col=palette("Paired"), main="Gráfica 8. Tipo de delito vs Distrito ", las=2)