El objetivo de este documento es transparentar los procesos de análisis sobre la base de datos de víctimas del SESNSP; es un ejercicio académico de transparencia.
El documento está organizado de forma que el lector pueda reproducir los resultados; el usuario debe hacer tres cosas:
R y ejecutarlo.code. Es importante ejecutarlos todos y en orden.Elegimos Rpara el proceso debido a que es software libre (otro software estadístico como SPSS,STATA o SAS requiere licencia), y porque el lenguaje es explícito y está bien documentado. El lector puede averiguar para qué sirve cada función mientras la ejecuta. En este sentido, este documento se propone también como un ejercicio didáctico, que esperamos sea de interés para nuestros alumnos.
Esta base de datos aún puede procesarse en Excel, sin embargo, R tiene varias ventajas: a) De procesarla en excel, tenemos que hacerlo cada mes; con R, sólo lo hacemos una vez, y conforme se actualicen los datos simplemente volvemos a ejecutar el script; b) el código puede ser compartido y replicado por otros, como en este ejemplo, y c) Conforme pasa el tiempo, la base de datos se vuelve más y más grande; pronto no podrá ser guardada excel, y el SESNSP tendrá que presentarla en otro formato, como la base de incidencia delictiva municipal del fuero común, que ahora se presenta en formato CSV. Cuando eso pase, tendrá que procesarse con R.
Para la ejecución de los procesos, el usuario debe descargar la base de datos de víctimas del SESNSP, que es actualizada el día 20 de cada mes. El zip descargado debe guardarse en el directorio C:/ o en D:/, y los datos deben leerse y prepararse con R.
Prepara R y dile dónde están los datos
# PREPARA R
#Primero instalamos los paquetes necesarios, pegando las siguientes líneas en el promt, esto es, donde aparece el símbolo ">"
#Los símbolos '#' son para escribir comentarios, para que R sepa lo que debe y lo que no debe tratar de ejecutar.#Pega las siguientes cuatro líneas install.packages("algo") SIN el símbolo de gato/sharp '#' que aparece al principio, deja el segundo:
#install.packages("openxlsx") #para abrir archivos de excel
#install.packages("reshape2") #para modificar la estructura de la base de datos a formato largo
#install.packages("knitr") #para esta visualización
#install.packages("rmarkdown") #para esta visualización
#asegúrate de que sean uno en cada linea
#Si te sale una ventana de "secure cran mirriors" escoge uno para México
#y luego los cargamos
#Aparecen advertencias porque aún tengo instalada una versión vieja de R, nada de qué preocuparse; si tu versión es más reciente no saldrán estas advertencias.
#asegúrate de que sean uno en cada linea
library(openxlsx)
## Warning: package 'openxlsx' was built under R version 3.6.3
#
library(reshape2)
## Warning: package 'reshape2' was built under R version 3.6.3
#
library(knitr)
#
library(rmarkdown)
#
#--- IMPORTANTE ---
#El archivo zip que se descarga del SESNSP debe ir en D:/ ; si lo quieren en otro lugar, COMO EN C:/ deben cambiar esta línea por setwd("C:/"); si los archivos están en "descargas", debes poner la ruta a descargas, algo así como "D:/Decargas/"; la ruta a la carpeta donde esten tus archivos debe ir dentr de setwd("ruta");
setwd("D:/")
#si no tienes permisos de administrador puede ser complicado;
#escribe getwd(), y luego pega los archivos en la dirección que aparezca, y continúa
Ahora los leemos y preparamos la base de datos de SESNSP:
#copia y pega todo esto
a<-unzip('Estatal-Víctimas-2015-2020_mar2020.zip',list=TRUE) #Obtengo la lista de archivos en el zip
unzip('Estatal-Víctimas-2015-2020_mar2020.zip',paste(a[1])) #Extraigo el arcivo que necesito
mibddvic<-read.xlsx(xlsxFile = paste(a[1]),sheet = 1,colNames = TRUE,startRow = 1) #Leo la tabla de excel y la guardo en la variable mibddvic
ad<-melt(data = mibddvic,id.vars = names(mibddvic[1:9]),measure.vars = names(mibddvic[10:22]),variable.name = "mes")
#Transformo los datos a formato largo, con todos los meses en una variable, en vez de una variable o columna por mes
ad$value<-as.numeric(ad$value)
#el valor de cada mes ahora está en la columna "value", me aseguro que sea numérica
ad$value[is.na(ad$value)]<-0
#y que en el caso de las celdas vacias, por los meses que aun no han ocurrido, el valor sea 0
#esto no te imprimirá nada en pantalla, pero tus datos de SESNSP ya están listos; ahora, preparemos los de CONAPO
Para el cálculo de tasas, también necesitaremos las proyecciones de población de CONAPO. Las proyecciones vienen en dos archivos, necesitaremos ambos.
Descarga las proyecciones de CONAPO
En este caso, los archivos vienen comprimidos en formato .rar, por lo que tendrás que descomprimirlos manualmente con WINRAR en D:/ (o en donde hayas puesto tu setwd(“algo”), tu directorio de trabajo); luego los preparamos con R.
Esta es la población de cada estado en cada año:
#Copia y pega todo esto
pop1<- read.table("base_municipios_final_datos_01.csv",header = TRUE,sep = ",")
pop2<- read.table("base_municipios_final_datos_02.csv",header = TRUE,sep = ",") #leemos las dos tablas de CONAPO
pop<-rbind(pop1,pop2) #Las pegamos
years<-unique(pop$AÑO) #obtenemos un listado de los años considerados
nomest<-unique(pop$CLAVE_ENT) #listado de las claves de los estados
estados=as.data.frame(nomest) #integramos la lista como primera columna del que será el dataFrame de ppoblación estatal por año
#UN loop Para poner los nombres de los estados en el orden correspondiente
edo<-subset(pop,pop$AÑO==2015 && pop$SEXO=="Mujeres" & pop$EDAD_QUIN=="pobm_00_04")
nombres<-c()
for(i in 1:length(nomest)){
for(j in 1:nrow(edo)){
if(edo$CLAVE_ENT[j]==i && ((edo$CLAVE_ENT[j] %in% nombres) ==FALSE)){nombres[i]<-paste(edo$NOM_ENT[j])}
}
}
estados<-cbind(estados,nombres) #Agrego los nombres de los estados al dataFrame
#relleno el data frame con la población correspondiente a cada estado en cada año
for(i in 1:length(years)){
edo<-subset(pop,pop$AÑO==years[i])
estados<-cbind(estados,as.data.frame(aggregate(edo$POB~edo$CLAVE_ENT,edo,sum))[2])
}
names(estados)<-c("Clave de la Entidad","Nombre de la entidad",years)
paged_table(estados)
#también puedes intentar kable(estados)
Ahora estamos listos
En Marzo de 2020 el SESNSP contabiliza 28 víctimas de homicidio doloso en Querétaro; éste es el número más alto de homicidios dolosos para un mes en Querétaro; el máximo histórico era de 27, en diciembre de 2018 y agosto de 2017; son más homicidios dolosos en marzo que en enero y febrero de este año combinados.
El número bruto es más bajo que para otras entidades, pero es un máximo histórico para Querétaro.
Ya habíamos adelantado posibles explicaciones.
years<-unique(mibddvic$Año) #HAgo una lista con los años que contempla la base de datos
queretaroHomicidiosDolosos<-subset(ad,ad$Clave_Ent==22 & ad$Subtipo.de.delito=="Homicidio doloso" ) #Hago un filtro, para homicidio doloso en Querétaro
anual<-data.frame()
x<-as.data.frame(unique(ad$mes)) #Empiezo a crear una nueva estructura de datos, primero, solo tiene una columna con los meses
for(i in 1:length(years)){
anual<-subset(queretaroHomicidiosDolosos,queretaroHomicidiosDolosos$Año==years[i])
x<-cbind(x,as.data.frame(aggregate(anual$value~anual$mes,anual,sum))[,2])
}
#la sentencia FOR sirve para ejecutar el mismo código varias veces; le pido con subset() que cree nuevos filtros, uno para cada año, en mi base de homicidios dolosos en QUerétaro, y con aggregate() hago tablas, de número de delitos por mes; con cbind(), los pego en mi tabla "anual"
names(x)<-c("Mes",years) #Arreglo los encabezados
#esto aun no te devuelve nada, pero tus datos de victimas de homicidio por mes y año están listos. Ahora, veámoslos.
Cada pestaña tiene su propio code.
kable(x,caption="Víctimas de delito en Querétaro, por mes y año") #imprimo la tabla en pantalla
| Mes | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 |
|---|---|---|---|---|---|---|
| Enero | 9 | 12 | 13 | 17 | 14 | 11 |
| Febrero | 10 | 9 | 12 | 10 | 16 | 12 |
| Marzo | 12 | 13 | 15 | 17 | 21 | 28 |
| Abril | 11 | 9 | 21 | 16 | 15 | 0 |
| Mayo | 13 | 14 | 9 | 15 | 17 | 0 |
| Junio | 10 | 7 | 23 | 16 | 11 | 0 |
| Julio | 12 | 8 | 13 | 15 | 22 | 0 |
| Agosto | 13 | 8 | 27 | 23 | 18 | 0 |
| Septiembre | 12 | 15 | 19 | 25 | 22 | 0 |
| Octubre | 23 | 9 | 15 | 8 | 9 | 0 |
| Noviembre | 13 | 12 | 10 | 17 | 13 | 0 |
| Diciembre | 8 | 8 | 16 | 27 | 17 | 0 |
| Total | 146 | 124 | 193 | 206 | 195 | 51 |
pobQro<-(estados[22,3:8])
kable(pobQro,caption="Población anual para Querétaro, en arreglo con CONAPO") #imprimo la tabla de población en QUerétaro
| 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | |
|---|---|---|---|---|---|---|
| 22 | 2069556 | 2113731 | 2156167 | 2197938 | 2239112 | 2279637 |
Recuerda que las tasas se calculan con la expresión \[ tasa= \frac{k}{n} * 100000\] donde: \(tasa\) representa la tasa por cada 100 mil habitantes; \(k\) representa la catidad de personas con la caracteritsica de interés, en este caso, haber sido víctimas de homicidio, y \(n\) la población expuesta, en este caso, la población total de la entidad
pobQro<-(estados[22,3:8])
qro2<-x[1:12,]
tasasQro<-qro2
year<-unique(ad$Año)
for(i in 1:length(year)){
for(j in 1:12){
tasasQro[j,i+1]<-round(qro2[j,i+1]/pobQro[i]*100000,4)
}
}
kable(tasasQro, caption="Tasa de víctimas de homicidio doloso en Querétaro por cada 100 mil habitantes, por mes y año")
| Mes | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 |
|---|---|---|---|---|---|---|
| Enero | 0.4349 | 0.5677 | 0.6029 | 0.7735 | 0.6252 | 0.4825 |
| Febrero | 0.4832 | 0.4258 | 0.5565 | 0.4550 | 0.7146 | 0.5264 |
| Marzo | 0.5798 | 0.6150 | 0.6957 | 0.7735 | 0.9379 | 1.2283 |
| Abril | 0.5315 | 0.4258 | 0.9740 | 0.7280 | 0.6699 | 0.0000 |
| Mayo | 0.6282 | 0.6623 | 0.4174 | 0.6825 | 0.7592 | 0.0000 |
| Junio | 0.4832 | 0.3312 | 1.0667 | 0.7280 | 0.4913 | 0.0000 |
| Julio | 0.5798 | 0.3785 | 0.6029 | 0.6825 | 0.9825 | 0.0000 |
| Agosto | 0.6282 | 0.3785 | 1.2522 | 1.0464 | 0.8039 | 0.0000 |
| Septiembre | 0.5798 | 0.7096 | 0.8812 | 1.1374 | 0.9825 | 0.0000 |
| Octubre | 1.1113 | 0.4258 | 0.6957 | 0.3640 | 0.4019 | 0.0000 |
| Noviembre | 0.6282 | 0.5677 | 0.4638 | 0.7735 | 0.5806 | 0.0000 |
| Diciembre | 0.3866 | 0.3785 | 0.7421 | 1.2284 | 0.7592 | 0.0000 |
#Calculo las tasas y las visualizo
Este febero se registraron 777 víctimas de delito en Querétaro: es el número más alto para un febrero (una tasa de 34.08 víctimas por cada 100 mil habitantes. En febrero de 2019 hubo 737; en 2018, 582; en 2017, 543; en 2016 fueron 595, y en 2015 fueron 518.
Esto es cierto en números absolutos y en tasa por cada 100 mil habitantes.
queretaroVictimas<-subset(ad,ad$Clave_Ent==22 ) #Esto es un filtro, de toda la base, selecciono sólo a Querétaro
anual<-data.frame()
x<-as.data.frame(unique(ad$mes)) #creo una tabla que sólo tiene los meses del año, y uego la iré llenando
for(i in 1:length(years)){
anual<-subset(queretaroVictimas,queretaroVictimas$Año==years[i])
x<-cbind(x,as.data.frame(aggregate(anual$value~anual$mes,anual,sum))[,2])
}
names(x)<-c("Mes",years)
Cada pestaña tiene su propio code.
kable(x,caption="Víctimas de delito en Querétaro, por mes y año")
| Mes | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 |
|---|---|---|---|---|---|---|
| Enero | 431 | 401 | 605 | 574 | 691 | 650 |
| Febrero | 436 | 441 | 543 | 582 | 737 | 777 |
| Marzo | 518 | 595 | 632 | 725 | 872 | 881 |
| Abril | 549 | 679 | 633 | 740 | 822 | 0 |
| Mayo | 519 | 726 | 850 | 762 | 993 | 0 |
| Junio | 537 | 618 | 737 | 708 | 827 | 0 |
| Julio | 456 | 581 | 608 | 815 | 920 | 0 |
| Agosto | 521 | 682 | 717 | 1003 | 841 | 0 |
| Septiembre | 517 | 607 | 622 | 955 | 888 | 0 |
| Octubre | 583 | 628 | 701 | 1150 | 820 | 0 |
| Noviembre | 653 | 570 | 573 | 734 | 738 | 0 |
| Diciembre | 645 | 646 | 650 | 965 | 856 | 0 |
| Total | 6365 | 7174 | 7871 | 9713 | 10005 | 2308 |
pobQro<-(estados[22,3:8])
kable(pobQro,caption="Población en Querétaro, por año")
| 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | |
|---|---|---|---|---|---|---|
| 22 | 2069556 | 2113731 | 2156167 | 2197938 | 2239112 | 2279637 |
pobQro<-(estados[22,3:8])
qro2<-x[1:12,]
tasasQro<-qro2
year=unique(ad$Año)
for(i in 1:length(year)){
for(j in 1:12){
tasasQro[j,i+1]<-round(qro2[j,i+1]/pobQro[i]*100000,2)
}
}
kable(tasasQro, caption="Tasa de víctimas de delito en Querétaro por cada 100 mil habitantes, por mes y año")
| Mes | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 |
|---|---|---|---|---|---|---|
| Enero | 20.83 | 18.97 | 28.06 | 26.12 | 30.86 | 28.51 |
| Febrero | 21.07 | 20.86 | 25.18 | 26.48 | 32.91 | 34.08 |
| Marzo | 25.03 | 28.15 | 29.31 | 32.99 | 38.94 | 38.65 |
| Abril | 26.53 | 32.12 | 29.36 | 33.67 | 36.71 | 0.00 |
| Mayo | 25.08 | 34.35 | 39.42 | 34.67 | 44.35 | 0.00 |
| Junio | 25.95 | 29.24 | 34.18 | 32.21 | 36.93 | 0.00 |
| Julio | 22.03 | 27.49 | 28.20 | 37.08 | 41.09 | 0.00 |
| Agosto | 25.17 | 32.27 | 33.25 | 45.63 | 37.56 | 0.00 |
| Septiembre | 24.98 | 28.72 | 28.85 | 43.45 | 39.66 | 0.00 |
| Octubre | 28.17 | 29.71 | 32.51 | 52.32 | 36.62 | 0.00 |
| Noviembre | 31.55 | 26.97 | 26.57 | 33.39 | 32.96 | 0.00 |
| Diciembre | 31.17 | 30.56 | 30.15 | 43.90 | 38.23 | 0.00 |
En 2019 el SESNSP registró para Querétaro 10 mil 005 víctimas de delito; con una población estatal de 2 millones 239 mil 112 habitantes, en arreglo con CONAPO, la tasa anual es de 446.83 víctimas por cada 100 mil habitantes, sólo por debajo del Estado de México y de Baja California Norte, que tienen tasas de 469 y 487 víctimas por cada 100 mil habitantes, respectivamente.
Un año antes, en 2018, con una tasa de 441.91 víctimas por cada 100 mil habitantes, Querétaro fue el segundo estado con mayor tasa de víctimas por 100 mil habitantes, sólo por debajo de Baja California Norte, que registró una tasa de 497.239 víctimas por cada 100 mil habitantes.
Cada pestaña tiene su propio code.
df1<-as.data.frame(nombres)
for(i in 1:length(year)){
ss<-subset(ad,ad$Año==year[i] & ad$mes != "Total")
df1<-cbind(df1,aggregate(ss$value~ss$Clave_Ent,ss,sum)[2])
}
names(df1)<-c("Entidad Federativa",year)
kable(df1,caption="Víctimas por año y entidad federativa")
| Entidad Federativa | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 |
|---|---|---|---|---|---|---|
| Aguascalientes | 3904 | 3212 | 4927 | 5740 | 5889 | 1448 |
| Baja California | 19359 | 17287 | 17344 | 17509 | 17441 | 3980 |
| Baja California Sur | 1915 | 2664 | 3511 | 2799 | 2816 | 694 |
| Campeche | 484 | 483 | 471 | 522 | 494 | 130 |
| Coahuila | 7165 | 6614 | 6513 | 6989 | 6292 | 1393 |
| Colima | 583 | 1053 | 2849 | 2863 | 3258 | 839 |
| Chiapas | 3758 | 3899 | 4185 | 4745 | 3953 | 939 |
| Chihuahua | 9595 | 9235 | 10801 | 10240 | 11895 | 3007 |
| Ciudad de México | 15046 | 14441 | 15137 | 19412 | 21821 | 4955 |
| Durango | 5154 | 5921 | 6204 | 5516 | 4905 | 1147 |
| Guanajuato | 14955 | 15138 | 17378 | 20850 | 23145 | 5847 |
| Guerrero | 7575 | 8173 | 7487 | 7875 | 7985 | 1635 |
| Hidalgo | 5437 | 7037 | 9339 | 10616 | 9936 | 2434 |
| Jalisco | 15656 | 18038 | 18495 | 18136 | 18072 | 4287 |
| México | 47336 | 49373 | 73146 | 68231 | 80885 | 20089 |
| Michoacán | 7947 | 8469 | 10352 | 11074 | 11823 | 3298 |
| Morelos | 6696 | 6949 | 6421 | 6732 | 6640 | 1504 |
| Nayarit | 1131 | 548 | 767 | 1090 | 825 | 196 |
| Nuevo León | 16848 | 17483 | 17223 | 15468 | 12734 | 3136 |
| Oaxaca-Región Valles Centrales | 1497 | 7716 | 8061 | 10656 | 10728 | 2687 |
| Puebla | 13591 | 8776 | 6755 | 8383 | 11610 | 2247 |
| Querétaro | 6365 | 7174 | 7871 | 9713 | 10005 | 2308 |
| Quintana Roo | 4856 | 2525 | 3302 | 4922 | 6294 | 1839 |
| San Luis Potosí | 3716 | 5441 | 6060 | 5507 | 7378 | 1718 |
| Sinaloa | 7229 | 6045 | 6502 | 6860 | 7154 | 1731 |
| Sonora | 5471 | 6474 | 4386 | 3381 | 4460 | 1205 |
| Tabasco | 8703 | 8189 | 8124 | 8013 | 8594 | 1984 |
| Tamaulipas | 9364 | 8411 | 8753 | 7829 | 7530 | 1917 |
| Tlaxcala | 1418 | 739 | 763 | 663 | 592 | 164 |
| Veracruz | 7065 | 7533 | 11626 | 11763 | 11454 | 3155 |
| Yucatán | 4865 | 5461 | 3196 | 752 | 808 | 220 |
| Zacatecas | 3120 | 3344 | 3618 | 3884 | 4919 | 1301 |
Cada pestaña tiene su propio code.
df2<-df1
n<-(estados[,3:8])
k<-df1[,2:7]
df2[,2:7]<-round(k/n*100000,2)
kable(df2,caption="Tasa de víctimas por cada 100 mil habitantes, por año y entidad federativa")
| Entidad Federativa | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 |
|---|---|---|---|---|---|---|
| Aguascalientes | 293.13 | 236.99 | 358.12 | 411.24 | 416.06 | 100.93 |
| Baja California | 576.54 | 507.94 | 500.86 | 497.24 | 487.37 | 109.50 |
| Baja California Sur | 266.03 | 361.47 | 465.48 | 362.90 | 357.31 | 86.24 |
| Campeche | 52.79 | 51.74 | 49.56 | 53.96 | 50.20 | 12.99 |
| Coahuila | 238.79 | 217.35 | 210.92 | 223.15 | 198.13 | 43.28 |
| Colima | 80.78 | 143.33 | 381.08 | 376.55 | 421.56 | 106.86 |
| Chiapas | 70.80 | 72.28 | 76.38 | 85.28 | 70.00 | 16.39 |
| Chihuahua | 265.31 | 253.05 | 292.76 | 274.68 | 315.91 | 79.10 |
| Ciudad de México | 166.09 | 159.50 | 167.28 | 214.70 | 241.62 | 54.94 |
| Durango | 289.29 | 328.59 | 340.97 | 300.36 | 264.71 | 61.37 |
| Guanajuato | 252.17 | 252.41 | 286.83 | 340.84 | 374.90 | 93.88 |
| Guerrero | 211.79 | 227.20 | 207.15 | 216.96 | 219.13 | 44.71 |
| Hidalgo | 187.52 | 239.46 | 313.71 | 352.19 | 325.69 | 78.86 |
| Jalisco | 196.60 | 223.91 | 226.96 | 220.12 | 217.06 | 50.98 |
| México | 287.69 | 296.38 | 433.82 | 400.03 | 469.02 | 115.27 |
| Michoacán | 171.10 | 180.78 | 219.24 | 232.77 | 246.72 | 68.35 |
| Morelos | 346.85 | 355.50 | 324.63 | 336.51 | 328.30 | 73.58 |
| Nayarit | 94.61 | 45.12 | 62.17 | 87.04 | 64.93 | 15.21 |
| Nuevo León | 323.66 | 330.23 | 320.41 | 283.56 | 230.14 | 55.90 |
| Oaxaca-Región Valles Centrales | 37.25 | 190.68 | 197.95 | 260.09 | 260.34 | 64.85 |
| Puebla | 216.61 | 138.29 | 105.33 | 129.39 | 177.46 | 34.02 |
| Querétaro | 307.55 | 339.40 | 365.05 | 441.91 | 446.83 | 101.24 |
| Quintana Roo | 318.45 | 161.35 | 205.69 | 299.17 | 373.63 | 106.72 |
| San Luis Potosí | 134.72 | 195.62 | 216.14 | 194.93 | 259.24 | 59.94 |
| Sinaloa | 239.71 | 198.24 | 211.28 | 220.96 | 228.49 | 54.84 |
| Sonora | 189.65 | 221.51 | 148.09 | 112.70 | 146.82 | 39.19 |
| Tabasco | 358.70 | 333.24 | 326.67 | 318.49 | 337.77 | 77.13 |
| Tamaulipas | 267.95 | 238.47 | 245.92 | 218.05 | 207.96 | 52.51 |
| Tlaxcala | 109.48 | 56.22 | 57.31 | 49.19 | 43.40 | 11.88 |
| Veracruz | 85.73 | 90.58 | 138.79 | 139.47 | 134.94 | 36.94 |
| Yucatán | 228.53 | 253.31 | 146.45 | 34.05 | 36.17 | 9.74 |
| Zacatecas | 194.79 | 206.84 | 221.99 | 236.48 | 297.29 | 78.07 |
Con una tasa de 46.36 víctimas por cada 100 mil habitantes, Querétaro es a nivel nacional el lugar donde la probabilidad de sufrir este delito es mayor;solo Baja California, con 42.39, se compara. Esta situación se ha mantenido desde 2015.
la Norma Técnica para la Clasificación Nacional de Delitos para Fines Estadísticos refiere que:
“Contempla todas aquellas conductas que no hayan sido enunciadas en las descripciones anteriores, pero que por sus características refieren acciones u omisiones que afectan o ponen en peligro la vida de cualquier persona, así como aquellas que impliquen lesionar su integridad corporal.”
Esto es, excluye homicidios, feminicidios, lesiones y abortos.
Cada pestaña tiene su propio code.
df3<-as.data.frame(nombres)
for(i in 1:length(year)){
ss1<-subset(ad,ad$Año==year[i] & ad$Subtipo.de.delito=="Otros delitos que atentan contra la vida y la integridad corporal" & ad$mes != "Total")
df3<-cbind(df3,aggregate(ss1$value~ss1$Clave_Ent,ss1,sum)[2])
}
names(df3)<-c("Entidad Federativa",year)
kable(df3,caption="Víctimas de otros delitos que atentan contra la vida y la integridad corporal, por año y entidad federativa")
| Entidad Federativa | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 |
|---|---|---|---|---|---|---|
| Aguascalientes | 70 | 0 | 19 | 7 | 12 | 10 |
| Baja California | 222 | 714 | 965 | 1192 | 1517 | 393 |
| Baja California Sur | 4 | 36 | 110 | 146 | 225 | 77 |
| Campeche | 10 | 13 | 14 | 20 | 27 | 4 |
| Coahuila | 12 | 9 | 28 | 44 | 37 | 11 |
| Colima | 0 | 0 | 1 | 0 | 0 | 0 |
| Chiapas | 0 | 0 | 132 | 189 | 186 | 30 |
| Chihuahua | 441 | 331 | 365 | 300 | 449 | 160 |
| Ciudad de México | 0 | 0 | 0 | 1014 | 1450 | 45 |
| Durango | 31 | 26 | 22 | 80 | 124 | 19 |
| Guanajuato | 0 | 0 | 0 | 0 | 126 | 85 |
| Guerrero | 1 | 0 | 1 | 4 | 23 | 3 |
| Hidalgo | 96 | 301 | 170 | 248 | 371 | 103 |
| Jalisco | 0 | 0 | 0 | 0 | 0 | 0 |
| México | 247 | 315 | 686 | 931 | 1053 | 301 |
| Michoacán | 41 | 64 | 50 | 66 | 236 | 94 |
| Morelos | 451 | 284 | 286 | 556 | 601 | 155 |
| Nayarit | 9 | 2 | 13 | 12 | 12 | 6 |
| Nuevo León | 24 | 38 | 66 | 7 | 17 | 29 |
| Oaxaca-Región Valles Centrales | 22 | 262 | 228 | 268 | 385 | 76 |
| Puebla | 91 | 58 | 65 | 55 | 256 | 97 |
| Querétaro | 903 | 786 | 823 | 827 | 1038 | 292 |
| Quintana Roo | 1 | 14 | 1 | 3 | 10 | 109 |
| San Luis Potosí | 49 | 75 | 120 | 124 | 194 | 50 |
| Sinaloa | 436 | 456 | 502 | 591 | 837 | 151 |
| Sonora | 3 | 4 | 6 | 114 | 212 | 83 |
| Tabasco | 112 | 106 | 399 | 489 | 612 | 168 |
| Tamaulipas | 1 | 1 | 210 | 402 | 667 | 84 |
| Tlaxcala | 15 | 17 | 7 | 3 | 8 | 2 |
| Veracruz | 25 | 0 | 50 | 128 | 169 | 43 |
| Yucatán | 161 | 322 | 330 | 87 | 160 | 51 |
| Zacatecas | 102 | 63 | 96 | 158 | 204 | 71 |
df4<-df3
n1<-(estados[,3:8])
k1<-df3[,2:7]
df4[,2:7]<-round(k1/n1*100000,2)
kable(df4,caption="Tasa de víctimas de otros delitos que atentan contra la vida y la integridad corporal, por año y entidad federativa, por cada 100 mil habitantes")
| Entidad Federativa | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 |
|---|---|---|---|---|---|---|
| Aguascalientes | 5.26 | 0.00 | 1.38 | 0.50 | 0.85 | 0.70 |
| Baja California | 6.61 | 20.98 | 27.87 | 33.85 | 42.39 | 10.81 |
| Baja California Sur | 0.56 | 4.88 | 14.58 | 18.93 | 28.55 | 9.57 |
| Campeche | 1.09 | 1.39 | 1.47 | 2.07 | 2.74 | 0.40 |
| Coahuila | 0.40 | 0.30 | 0.91 | 1.40 | 1.17 | 0.34 |
| Colima | 0.00 | 0.00 | 0.13 | 0.00 | 0.00 | 0.00 |
| Chiapas | 0.00 | 0.00 | 2.41 | 3.40 | 3.29 | 0.52 |
| Chihuahua | 12.19 | 9.07 | 9.89 | 8.05 | 11.92 | 4.21 |
| Ciudad de México | 0.00 | 0.00 | 0.00 | 11.22 | 16.06 | 0.50 |
| Durango | 1.74 | 1.44 | 1.21 | 4.36 | 6.69 | 1.02 |
| Guanajuato | 0.00 | 0.00 | 0.00 | 0.00 | 2.04 | 1.36 |
| Guerrero | 0.03 | 0.00 | 0.03 | 0.11 | 0.63 | 0.08 |
| Hidalgo | 3.31 | 10.24 | 5.71 | 8.23 | 12.16 | 3.34 |
| Jalisco | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
| México | 1.50 | 1.89 | 4.07 | 5.46 | 6.11 | 1.73 |
| Michoacán | 0.88 | 1.37 | 1.06 | 1.39 | 4.92 | 1.95 |
| Morelos | 23.36 | 14.53 | 14.46 | 27.79 | 29.71 | 7.58 |
| Nayarit | 0.75 | 0.16 | 1.05 | 0.96 | 0.94 | 0.47 |
| Nuevo León | 0.46 | 0.72 | 1.23 | 0.13 | 0.31 | 0.52 |
| Oaxaca-Región Valles Centrales | 0.55 | 6.47 | 5.60 | 6.54 | 9.34 | 1.83 |
| Puebla | 1.45 | 0.91 | 1.01 | 0.85 | 3.91 | 1.47 |
| Querétaro | 43.63 | 37.19 | 38.17 | 37.63 | 46.36 | 12.81 |
| Quintana Roo | 0.07 | 0.89 | 0.06 | 0.18 | 0.59 | 6.33 |
| San Luis Potosí | 1.78 | 2.70 | 4.28 | 4.39 | 6.82 | 1.74 |
| Sinaloa | 14.46 | 14.95 | 16.31 | 19.04 | 26.73 | 4.78 |
| Sonora | 0.10 | 0.14 | 0.20 | 3.80 | 6.98 | 2.70 |
| Tabasco | 4.62 | 4.31 | 16.04 | 19.44 | 24.05 | 6.53 |
| Tamaulipas | 0.03 | 0.03 | 5.90 | 11.20 | 18.42 | 2.30 |
| Tlaxcala | 1.16 | 1.29 | 0.53 | 0.22 | 0.59 | 0.14 |
| Veracruz | 0.30 | 0.00 | 0.60 | 1.52 | 1.99 | 0.50 |
| Yucatán | 7.56 | 14.94 | 15.12 | 3.94 | 7.16 | 2.26 |
| Zacatecas | 6.37 | 3.90 | 5.89 | 9.62 | 12.33 | 4.26 |
Con una tasa de 369 mujeres víctimas de delito por cada 100 mil mujeres, Querétaro fue en 2019 el estado con mayor proporción de víctimas mujeres y, por ello mismo, donde la probabilidad para una mujer de ser víctima fue mayor; el estado con la segunda mayor tasa fue Baja California Norte, con una tasa de 347.24 mujeres víctimas por cada 100 mil mujeres.
La situación, sin embargo, se arrastra desde 2018, cuando con una tasa de 376.64 víctimas por cada 100 mil mujeres,dejando en segundo lugar de nuevo a Baja California.
Este es un fenómeno muy complejo, difícil de explicar y en rápido crecimiento; ya sabíamos que Querétaro tiene la tasa más alta de lesiones contra mujeres, lo que sin duda constituye el grueso del fenómeno, y sabíamos también que las mujeres jóvenes son las más vulnerables, pero también que hay más averiguaciones por aborto que por feminicidio, lo que indica que las instituciones tienen un papel importante en esta cifra; la violencia se experimenta en muchas formas y en muchos ámbitos, como en el trabajo, donde, en Querétaro, una de cada cuatro mujeres sufre violencia laboral.
Cada pestaña tiene su propio code.
df5<-as.data.frame(nombres)
for(i in 1:length(year)){
ss2<-subset(ad,ad$Año==year[i] & ad$Sexo=="Mujer" & ad$mes != "Total")
df5<-cbind(df5,aggregate(ss2$value~ss2$Clave_Ent,ss2,sum)[2])
}
names(df5)<-c("Entidad Federativa",year)
kable(df5,caption="Mujeres víctimas de delito, por entidad federativa y año")
| Entidad Federativa | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 |
|---|---|---|---|---|---|---|
| Aguascalientes | 70 | 74 | 99 | 109 | 123 | 33 |
| Baja California | 8282 | 7769 | 7304 | 6019 | 6217 | 1320 |
| Baja California Sur | 561 | 1018 | 1203 | 1059 | 1121 | 270 |
| Campeche | 160 | 146 | 178 | 183 | 179 | 44 |
| Coahuila | 2224 | 2624 | 2432 | 3043 | 2710 | 571 |
| Colima | 116 | 187 | 809 | 842 | 993 | 257 |
| Chiapas | 965 | 996 | 1090 | 1428 | 1213 | 291 |
| Chihuahua | 3004 | 2758 | 2868 | 2669 | 3423 | 851 |
| Ciudad de México | 922 | 855 | 628 | 4464 | 6735 | 1691 |
| Durango | 1953 | 2161 | 2192 | 2076 | 1878 | 438 |
| Guanajuato | 5897 | 5411 | 5816 | 6836 | 7718 | 1838 |
| Guerrero | 1625 | 2631 | 2377 | 2365 | 2757 | 610 |
| Hidalgo | 2253 | 2732 | 3608 | 4159 | 3619 | 900 |
| Jalisco | 6020 | 6228 | 7150 | 6654 | 6547 | 1523 |
| México | 17753 | 11703 | 25972 | 20652 | 23734 | 5668 |
| Michoacán | 2465 | 3044 | 4252 | 4490 | 4525 | 1322 |
| Morelos | 2490 | 2775 | 2444 | 2443 | 2380 | 530 |
| Nayarit | 379 | 191 | 144 | 231 | 219 | 40 |
| Nuevo León | 7432 | 7486 | 7209 | 6523 | 4794 | 1268 |
| Oaxaca-Región Valles Centrales | 410 | 2325 | 2340 | 3162 | 3444 | 872 |
| Puebla | 4796 | 2966 | 1952 | 2252 | 3859 | 701 |
| Querétaro | 2198 | 2870 | 3310 | 4197 | 4191 | 981 |
| Quintana Roo | 838 | 643 | 751 | 1416 | 1767 | 562 |
| San Luis Potosí | 1140 | 860 | 2221 | 1838 | 2972 | 656 |
| Sinaloa | 2099 | 1658 | 1761 | 2277 | 2463 | 627 |
| Sonora | 1466 | 2180 | 1384 | 802 | 968 | 276 |
| Tabasco | 2814 | 2336 | 1932 | 1421 | 1888 | 410 |
| Tamaulipas | 3538 | 2759 | 2848 | 2430 | 2506 | 623 |
| Tlaxcala | 479 | 181 | 215 | 237 | 156 | 56 |
| Veracruz | 1871 | 1987 | 3120 | 3141 | 3380 | 968 |
| Yucatán | 1177 | 1270 | 788 | 168 | 155 | 50 |
| Zacatecas | 1117 | 1213 | 1295 | 1354 | 1737 | 448 |
mujeres<-as.data.frame(nombres)
for(i in 1:length(year)){
mux<-subset(pop,pop$AÑO==years[i] & pop$SEXO=="Mujeres")
mujeres<-cbind(mujeres,as.data.frame(aggregate(mux$POB~mux$CLAVE_ENT,mux,sum))[2])
}
names(mujeres)<-c("Nombre de la entidad",year)
kable(mujeres,caption="Población femenina, por año y entidad federativa")
| Nombre de la entidad | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 |
|---|---|---|---|---|---|---|
| Aguascalientes | 676756 | 688078 | 698335 | 708397 | 718293 | 728001 |
| Baja California | 1676450 | 1701160 | 1731388 | 1761125 | 1790402 | 1819221 |
| Baja California Sur | 353175 | 361857 | 370471 | 378970 | 387379 | 395686 |
| Campeche | 463786 | 472380 | 480892 | 489332 | 497710 | 506013 |
| Coahuila | 1503013 | 1523960 | 1546686 | 1569142 | 1591349 | 1613303 |
| Colima | 363397 | 369839 | 376094 | 382248 | 388317 | 394295 |
| Chiapas | 2706079 | 2751269 | 2795702 | 2839751 | 2883413 | 2926695 |
| Chihuahua | 1820676 | 1838033 | 1858724 | 1878794 | 1898283 | 1917220 |
| Ciudad de México | 4727285 | 4725989 | 4724114 | 4720967 | 4716667 | 4711235 |
| Durango | 902020 | 912301 | 921369 | 930182 | 938770 | 947144 |
| Guanajuato | 3042095 | 3073125 | 3104071 | 3133966 | 3162896 | 3190872 |
| Guerrero | 1844116 | 1855504 | 1864204 | 1872241 | 1879681 | 1886572 |
| Hidalgo | 1498359 | 1518657 | 1538351 | 1557645 | 1576562 | 1595122 |
| Jalisco | 4038200 | 4083287 | 4130535 | 4176257 | 4220564 | 4263491 |
| México | 8418990 | 8523806 | 8626102 | 8725105 | 8820924 | 8913555 |
| Michoacán | 2389658 | 2409005 | 2427328 | 2445098 | 2462361 | 2479142 |
| Morelos | 995289 | 1007479 | 1019081 | 1030403 | 1041469 | 1052273 |
| Nayarit | 598262 | 607747 | 617163 | 626391 | 635459 | 644370 |
| Nuevo León | 2602654 | 2646965 | 2687691 | 2727772 | 2767266 | 2806169 |
| Oaxaca-Región Valles Centrales | 2089491 | 2103532 | 2117052 | 2130074 | 2142659 | 2154839 |
| Puebla | 3253656 | 3289790 | 3324140 | 3357617 | 3390264 | 3422131 |
| Querétaro | 1051031 | 1072155 | 1093382 | 1114329 | 1135018 | 1155425 |
| Quintana Roo | 755844 | 776235 | 795984 | 815480 | 834714 | 853688 |
| San Luis Potosí | 1411226 | 1423150 | 1434608 | 1445726 | 1456541 | 1467071 |
| Sinaloa | 1515836 | 1533173 | 1547497 | 1561435 | 1575013 | 1588251 |
| Sonora | 1448176 | 1469005 | 1488766 | 1508168 | 1527257 | 1546057 |
| Tabasco | 1230046 | 1245945 | 1261264 | 1276331 | 1291146 | 1305707 |
| Tamaulipas | 1763051 | 1779743 | 1796649 | 1813123 | 1829220 | 1844972 |
| Tlaxcala | 664306 | 673870 | 682500 | 690948 | 699235 | 707365 |
| Veracruz | 4236491 | 4274609 | 4306724 | 4337354 | 4366584 | 4394428 |
| Yucatán | 1077863 | 1091924 | 1105906 | 1119693 | 1133299 | 1146710 |
| Zacatecas | 814218 | 821349 | 828218 | 834869 | 841344 | 847637 |
df6<-df1
k2<-df5[c('2015','2016','2017','2018','2019','2020')]
n2<-mujeres[c('2015','2016','2017','2018','2019','2020')]
df6[c('2015','2016','2017','2018','2019','2020')]<-round(k2/n2*100000,2)
kable(df6,caption="Tasa de delitos contra mujeres por cada 100 mil mujeres, por año y entidad federativa")
| Entidad Federativa | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 |
|---|---|---|---|---|---|---|
| Aguascalientes | 10.34 | 10.75 | 14.18 | 15.39 | 17.12 | 4.53 |
| Baja California | 494.02 | 456.69 | 421.86 | 341.77 | 347.24 | 72.56 |
| Baja California Sur | 158.84 | 281.33 | 324.72 | 279.44 | 289.38 | 68.24 |
| Campeche | 34.50 | 30.91 | 37.01 | 37.40 | 35.96 | 8.70 |
| Coahuila | 147.97 | 172.18 | 157.24 | 193.93 | 170.30 | 35.39 |
| Colima | 31.92 | 50.56 | 215.11 | 220.28 | 255.72 | 65.18 |
| Chiapas | 35.66 | 36.20 | 38.99 | 50.29 | 42.07 | 9.94 |
| Chihuahua | 164.99 | 150.05 | 154.30 | 142.06 | 180.32 | 44.39 |
| Ciudad de México | 19.50 | 18.09 | 13.29 | 94.56 | 142.79 | 35.89 |
| Durango | 216.51 | 236.87 | 237.91 | 223.18 | 200.05 | 46.24 |
| Guanajuato | 193.85 | 176.07 | 187.37 | 218.13 | 244.02 | 57.60 |
| Guerrero | 88.12 | 141.79 | 127.51 | 126.32 | 146.67 | 32.33 |
| Hidalgo | 150.36 | 179.90 | 234.54 | 267.01 | 229.55 | 56.42 |
| Jalisco | 149.08 | 152.52 | 173.10 | 159.33 | 155.12 | 35.72 |
| México | 210.87 | 137.30 | 301.09 | 236.70 | 269.06 | 63.59 |
| Michoacán | 103.15 | 126.36 | 175.17 | 183.63 | 183.77 | 53.32 |
| Morelos | 250.18 | 275.44 | 239.82 | 237.09 | 228.52 | 50.37 |
| Nayarit | 63.35 | 31.43 | 23.33 | 36.88 | 34.46 | 6.21 |
| Nuevo León | 285.55 | 282.81 | 268.22 | 239.13 | 173.24 | 45.19 |
| Oaxaca-Región Valles Centrales | 19.62 | 110.53 | 110.53 | 148.45 | 160.73 | 40.47 |
| Puebla | 147.40 | 90.16 | 58.72 | 67.07 | 113.83 | 20.48 |
| Querétaro | 209.13 | 267.69 | 302.73 | 376.64 | 369.25 | 84.90 |
| Quintana Roo | 110.87 | 82.84 | 94.35 | 173.64 | 211.69 | 65.83 |
| San Luis Potosí | 80.78 | 60.43 | 154.82 | 127.13 | 204.05 | 44.71 |
| Sinaloa | 138.47 | 108.14 | 113.80 | 145.83 | 156.38 | 39.48 |
| Sonora | 101.23 | 148.40 | 92.96 | 53.18 | 63.38 | 17.85 |
| Tabasco | 228.77 | 187.49 | 153.18 | 111.33 | 146.23 | 31.40 |
| Tamaulipas | 200.67 | 155.02 | 158.52 | 134.02 | 137.00 | 33.77 |
| Tlaxcala | 72.11 | 26.86 | 31.50 | 34.30 | 22.31 | 7.92 |
| Veracruz | 44.16 | 46.48 | 72.44 | 72.42 | 77.41 | 22.03 |
| Yucatán | 109.20 | 116.31 | 71.25 | 15.00 | 13.68 | 4.36 |
| Zacatecas | 137.19 | 147.68 | 156.36 | 162.18 | 206.46 | 52.85 |
Los cálculos para cualquier otro delito, en cualquier otra entidad, y para cualquier otra subpoblación (mujeres, menores de edad, etc.) están automatizados y listos para consulta aquí, si bien, por lo extenso de las bases de datos utilizadas, el sitio demora un poco en cargar.
Invitamos al público a utilizar, comentar y corregir nuestros algoritmos.