Reglas - capítulo 100
1.1: Mostrar al personal involucrado en SIUP (comisarios, logisticos y estadisticos) muy jovenes o muy viejos *(percentiles) por comisaría.
c100_1.1_com <- c100 %>%
mutate(cargo= "comisario", pos = ntile(inf102a,dim(c100)[1]), p_rank = round(percent_rank(inf102a),3)*100 ) %>%
filter(p_rank <=1 | p_rank >= 99) %>%
select(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI,
inf101a, inf102a, inf105a, cargo ) %>%
rename(nombres = inf101a, edad= inf102a, DNI= inf105a ) %>%
arrange(edad)
c100_1.1_est <- c100 %>%
mutate(cargo= "estadístico", pos = ntile(inf102b,466), p_rank = round(percent_rank(inf102b),3)*100 ) %>%
filter(p_rank <=1 | p_rank >= 99) %>%
select(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI,
inf101b, inf102b, inf105b, cargo ) %>%
rename(nombres = inf101b, edad= inf102b, DNI= inf105b ) %>%
arrange(edad)
c100_1.1_log <- c100 %>%
filter(!is.na(inf105c) & inf105c != "NULL") %>%
mutate(cargo= "logístico", pos = ntile(inf102c,466), p_rank = round(percent_rank(inf102c),3)*100 ) %>%
filter(p_rank <=1 | p_rank >= 99) %>%
select(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI,
inf101c, inf102c, inf105c, cargo ) %>%
rename(nombres = inf101c, edad= inf102c, DNI= inf105c ) %>%
mutate(DNI = as.numeric(DNI)) %>%
arrange(edad)
## uniendo en una sola tabla
c100_1.1_global <- bind_rows(c100_1.1_com,c100_1.1_est,c100_1.1_log)
c100_1.1_global <- c100_1.1_global %>%
mutate(val_personal = 1) %>%
mutate(id_reglas = 1.1)
# quantile(c100$inf102a, c(.01,.99))
# borrando objetos temporales
rm(c100_1.1_com, c100_1.1_est, c100_1.1_log)
kable(c100_1.1_global %>% head(10) , format = "simple", caption = "Top 10 de los resultados de regla 1.1")
Top 10 de los resultados de regla 1.1
| 1285 |
CPNP LLACUABAMBA |
LA LIBERTAD |
LA LIBERTAD |
PATAZ |
PARCOY |
D |
REYES CARHUACHIN John |
22 |
73902906 |
comisario |
1 |
1.1 |
| 4508 |
CPNP LARAQUERI |
PUNO |
PUNO |
PUNO |
PICHACANI |
E |
GAMA MAMANI Jonathan Arnold |
22 |
70192779 |
comisario |
1 |
1.1 |
| 4064 |
CPNP TAMBILLO |
AREQUIPA |
AREQUIPA |
AREQUIPA |
SAN JUAN DE SIGUAS |
D |
LUIS ANGEL LEON VILLA |
23 |
77022122 |
comisario |
1 |
1.1 |
| 4933 |
CPNP TAMBO REAL NUEVO |
ANCASH |
ANCASH |
SANTA |
CHIMBOTE |
D |
SANTISTEBAN FRANCISCO JORGE RAUL |
24 |
72034275 |
comisario |
1 |
1.1 |
| 1257 |
CPNP SAYAPULLO |
LA LIBERTAD |
LA LIBERTAD |
GRAN CHIMU |
SAYAPULLO |
D |
REYNA MENDOZA Juan Alberto |
24 |
73363355 |
comisario |
1 |
1.1 |
| 1654 |
CPNP TAMANCO |
LORETO |
LORETO |
REQUENA |
EMILIO SAN MARTIN |
E |
paredes manihuari ronaldino |
24 |
76520573 |
comisario |
1 |
1.1 |
| 2130 |
CPNP SANTA CLARA |
LIMA |
LIMA |
LIMA |
ATE |
B |
SALVADOR VERDE, JOSEPH JHONATAN |
24 |
70188371 |
comisario |
1 |
1.1 |
| 5816 |
CPNP SAN ISIDRO |
TUMBES |
TUMBES |
TUMBES |
CORRALES |
D |
KHATERYN LISBETH VALLEJOS OCAMPO |
24 |
70071721 |
comisario |
1 |
1.1 |
| 5140 |
CPNP HUALGAYOC-BAMBAMARCA |
CAJAMARCA |
CAJAMARCA |
HUALGAYOC |
BAMBAMARCA |
B |
ACUÑA ROJAS HUGO HANS |
24 |
77174553 |
comisario |
1 |
1.1 |
| 7562 |
CPNP MARANURA |
CUSCO |
CUSCO |
LA CONVENCION |
MARANURA |
D |
GUZMAN HERRERA JESIMIEL LIDNI |
24 |
71435065 |
comisario |
1 |
1.1 |
1.2: Validar la cantidad de personal registrado en las preguntas 111 al 145 respecto al total que arroja el sistema
kable(c100_1.2_global %>% head(10), format = "simple", caption = "Resultados regla 1.2")
Resultados regla 1.2
| 2050 |
CPNP SANTOYO |
LIMA |
LIMA |
LIMA |
EL AGUSTINO |
B |
1 |
p11 |
1.2 |
| 1917 |
CPNP EL RIMAC |
LIMA |
LIMA |
LIMA |
RIMAC |
A |
1 |
p11 |
1.2 |
| 2365 |
CPNP PARAMONGA |
LIMA |
LIMA |
BARRANCA |
PARAMONGA |
A |
1 |
p11 |
1.2 |
| 1917 |
CPNP EL RIMAC |
LIMA |
LIMA |
LIMA |
RIMAC |
A |
1 |
p12 |
1.2 |
| 1805 |
CPNP LAURA CALLER |
LIMA |
LIMA |
LIMA |
LOS OLIVOS |
A |
1 |
p12 |
1.2 |
| 1830 |
CPNP CARABAYLLO |
LIMA |
LIMA |
LIMA |
CARABAYLLO |
A |
1 |
p12 |
1.2 |
| 2212 |
CPNP SAGITARIO |
LIMA |
LIMA |
LIMA |
SANTIAGO DE SURCO |
B |
1 |
p12 |
1.2 |
| 2365 |
CPNP PARAMONGA |
LIMA |
LIMA |
BARRANCA |
PARAMONGA |
A |
1 |
p12 |
1.2 |
| 1805 |
CPNP LAURA CALLER |
LIMA |
LIMA |
LIMA |
LOS OLIVOS |
A |
1 |
p14 |
1.2 |
| 3608 |
CPNP TINTA |
CUSCO |
CUSCO |
CANCHIS |
TINTA |
E |
1 |
p14 |
1.2 |
1.3: Validar la cantidad de personal en comisarias a través de las preguntas de agregación (sumatorias de personal policial y civil) de 111 al 145 respecto a los totales brindaos por el sistema.
c100_1.3_global <- c100_1.2 %>%
select(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI,
inftotarmas, inftotservicios,
C_CAS_H, C_CAS_M, C_ORS_H, C_ORS_M,
inf110tot) %>%
mutate(tot_a_s = inftotarmas +inftotservicios ) %>%
mutate(total_civil = C_CAS_H + C_CAS_M + C_ORS_H + C_ORS_M) %>% # SE AGREGO EL DIA 03/08/2021
mutate(val_total = if_else(tot_a_s + total_civil ==inf110tot, 0,1)) %>%
mutate(id_reglas = 1.3) %>%
ungroup()
#filter(val_total=='1')
#arrange(val_total -inf110tot )
kable( c100_1.3_global %>% filter(val_total == 1) %>% head(10), format = "simple", caption = "Top 10 de los resultados de regla 1.3" )
Top 10 de los resultados de regla 1.3
| 2010 |
CPNP UNIDAD VECINAL 3 B |
LIMA |
LIMA |
LIMA |
LIMA |
B |
74 |
2 |
3 |
2 |
0 |
0 |
82 |
76 |
5 |
1 |
1.3 |
| 4892 |
CPNP SAN PEDRO |
ANCASH |
ANCASH |
SANTA |
CHIMBOTE |
A |
90 |
1 |
0 |
0 |
0 |
0 |
93 |
91 |
0 |
1 |
1.3 |
| 4635 |
CPNP COLLAO-LLAVE |
PUNO |
PUNO |
EL COLLAO |
ILAVE |
A |
125 |
0 |
0 |
0 |
0 |
0 |
126 |
125 |
0 |
1 |
1.3 |
| 711 |
CPNP NUEVA SULLANA |
PIURA |
PIURA |
SULLANA |
SULLANA |
D |
44 |
0 |
0 |
1 |
0 |
0 |
44 |
44 |
1 |
1 |
1.3 |
| 3592 |
CPNP SALVACION |
CUSCO |
MADRE DE DIOS |
MANU |
MANU |
D |
15 |
0 |
0 |
0 |
0 |
0 |
16 |
15 |
0 |
1 |
1.3 |
| 2050 |
CPNP SANTOYO |
LIMA |
LIMA |
LIMA |
EL AGUSTINO |
B |
82 |
1 |
1 |
2 |
1 |
1 |
85 |
83 |
5 |
1 |
1.3 |
| 1917 |
CPNP EL RIMAC |
LIMA |
LIMA |
LIMA |
RIMAC |
A |
102 |
3 |
1 |
4 |
0 |
0 |
105 |
105 |
5 |
1 |
1.3 |
| 1912 |
CPNP PIEDRA LIZA |
LIMA |
LIMA |
LIMA |
RIMAC |
B |
70 |
0 |
3 |
1 |
0 |
0 |
73 |
70 |
4 |
1 |
1.3 |
| 1860 |
CPNP PAYET |
LIMA |
LIMA |
LIMA |
INDEPENDENCIA |
B |
57 |
1 |
1 |
1 |
0 |
0 |
61 |
58 |
2 |
1 |
1.3 |
| 2155 |
CPNP CIENEGUILLA |
LIMA |
LIMA |
LIMA |
CIENEGUILLA |
B |
60 |
1 |
0 |
2 |
0 |
0 |
62 |
61 |
2 |
1 |
1.3 |
1.4: Validar número de policias según el grado militar respecto a las preg mostradas automaticamente en el sistema
c100_1.4 <- c100 %>% rowwise(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI )
c100_1.4_global <- c100_1.4 %>%
mutate(total_r = sum(c_across(inf1460a:inf14614s))) %>%
select(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI,
total_r) %>% # ----- > hasta aquí es exclusivamente con la pregunta 146
inner_join(c100_1.3_global, by =c('id_unidad_policial') ) %>% # ----- > aquí se realiza join con tabla de pregunta anterior
mutate(val_total_flag_preg = if_else(total_r==inf110tot,0,1), # total_r vs total del sistema
val_total_flag_r1.3 = if_else(total_r==tot_a_s,0,1)) %>%
select(id_unidad_policial, nombre_unidadp.x, REGION_POL.x, nombre_departamento.x, nombre_provincia.x, nombre_distrito.x, TIPO_COMI.x,
total_r, inf110tot, tot_a_s, val_total_flag_preg, val_total_flag_r1.3) %>%
rename(total_preg_146 = total_r, total_preg_111.145_preg=inf110tot, total_armas_servic=tot_a_s) %>%
arrange(total_preg_146 - total_preg_111.145_preg) %>%
mutate(id_reglas = 1.4)
# para el consolidado se utiliza la columna val_total_flag_r1.3 (03/08/2021)
kable(c100_1.4_global %>% filter(val_total_flag_preg == 1) %>% head(10), format = "simple", caption = "Top 10 de los resultados de regla 1.4")
Top 10 de los resultados de regla 1.4
| 2217 |
CPNP SAN ISIDRO |
LIMA |
LIMA |
LIMA |
SAN ISIDRO |
A |
114 |
122 |
114 |
1 |
0 |
1.4 |
| 2280 |
CPNP VILLA MARIA DEL TRIUNFO |
LIMA |
LIMA |
LIMA |
VILLA MARIA DEL TRIUNFO |
A |
109 |
117 |
109 |
1 |
0 |
1.4 |
| 1920 |
CPNP SAN MARTIN DE PORRAS |
LIMA |
LIMA |
LIMA |
SAN MARTIN DE PORRES |
A |
137 |
144 |
137 |
1 |
0 |
1.4 |
| 2270 |
CPNP VILLA EL SALVADOR |
LIMA |
LIMA |
LIMA |
VILLA EL SALVADOR |
A |
101 |
108 |
101 |
1 |
0 |
1.4 |
| 1855 |
CPNP INDEPENDENCIA |
LIMA |
LIMA |
LIMA |
INDEPENDENCIA |
A |
213 |
220 |
213 |
1 |
0 |
1.4 |
| 1865 |
CPNP TAHUANTINSUYO |
LIMA |
LIMA |
LIMA |
INDEPENDENCIA |
B |
80 |
87 |
80 |
1 |
0 |
1.4 |
| 1875 |
CPNP COLLIQUE |
LIMA |
LIMA |
LIMA |
COMAS |
B |
77 |
84 |
77 |
1 |
0 |
1.4 |
| 2210 |
CPNP MONTERRICO |
LIMA |
LIMA |
LIMA |
SANTIAGO DE SURCO |
B |
122 |
129 |
122 |
1 |
0 |
1.4 |
| 2475 |
CPNP CHACLACAYO |
LIMA |
LIMA |
LIMA |
CHACLACAYO |
B |
83 |
90 |
83 |
1 |
0 |
1.4 |
| 2010 |
CPNP UNIDAD VECINAL 3 B |
LIMA |
LIMA |
LIMA |
LIMA |
B |
76 |
82 |
76 |
1 |
0 |
1.4 |
Reglas - capítulo 200
2.1: Validar que el área del terreno (p203) sea mayor que el área que ocupa la comi (p204)
c200_2.1_global <- c200 %>% mutate(val_area = if_else(inf203 >= inf204,0,1)) %>%
select(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI
, inf203, inf204, val_area) %>%
mutate(id_reglas = 2.1)
kable(c200_2.1_global %>% filter(val_area=='1') %>% head(10) , format = "simple", caption = "Top 10 de los resultados de regla 2.1")
Top 10 de los resultados de regla 2.1
| 4600 |
CPNP AZANGARO |
PUNO |
PUNO |
AZANGARO |
AZANGARO |
A |
95.75 |
695.75 |
1 |
2.1 |
| 4280 |
CPNP PAMPA INALAMBRICA |
MOQUEGUA |
MOQUEGUA |
ILO |
ILO |
B |
10.00 |
1618.47 |
1 |
2.1 |
| 1990 |
CPNP COTABAMBAS |
LIMA |
LIMA |
LIMA |
LIMA |
A |
718.68 |
1740.00 |
1 |
2.1 |
| 6008 |
CPNP JUAN INGUNZA VALDIVIA |
CALLAO |
CALLAO |
CALLAO |
CALLAO |
B |
489.06 |
658.00 |
1 |
2.1 |
| 4285 |
CPNP CENTRAL |
TACNA |
TACNA |
TACNA |
TACNA |
A |
504.46 |
893.02 |
1 |
2.1 |
| 653 |
CPNP YAPATERA |
PIURA |
PIURA |
MORROPON |
CHULUCANAS |
D |
2.52 |
288.00 |
1 |
2.1 |
| 760 |
CPNP PAITA |
PIURA |
PIURA |
PAITA |
PAITA |
A |
525.60 |
624.60 |
1 |
2.1 |
| 4250 |
CPNP TORATA |
MOQUEGUA |
MOQUEGUA |
MARISCAL NIETO |
TORATA |
B |
444.35 |
2112.00 |
1 |
2.1 |
| 1092 |
CPNP BUENOS AIRES |
LA LIBERTAD |
LA LIBERTAD |
TRUJILLO |
VICTOR LARCO HERRERA |
B |
314.46 |
411.96 |
1 |
2.1 |
| 1122 |
CPNP NICOLAS ALCAZAR |
LA LIBERTAD |
LA LIBERTAD |
TRUJILLO |
EL PORVENIR |
B |
447.50 |
485.46 |
1 |
2.1 |
2.2: Validar que los años de antiguedad de las comisarias sean menores a 90 años
c200_2.2_global <- c200 %>% mutate(val_anios = if_else(inf206 > 90 ,1, 0)) %>%
select(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI
, inf206, val_anios) %>%
mutate(id_reglas = 2.2)
kable(c200_2.2_global %>% filter(val_anios=='1') %>% head(10), format = "simple", caption = "Top 10 de los resultados de regla 2.2")
Top 10 de los resultados de regla 2.2
| 1538 |
CPNP IQUITOS |
LORETO |
LORETO |
MAYNAS |
IQUITOS |
A |
100 |
1 |
2.2 |
| 1997 |
CPNP MONSERRATE |
LIMA |
LIMA |
LIMA |
LIMA |
A |
120 |
1 |
2.2 |
| 1995 |
CPNP ALFONSO UGARTE |
LIMA |
LIMA |
LIMA |
LIMA |
A |
116 |
1 |
2.2 |
| 2000 |
CPNP PETIT THOUARS |
LIMA |
LIMA |
LIMA |
LIMA |
A |
130 |
1 |
2.2 |
| 3650 |
CPNP ESPINAR |
CUSCO |
CUSCO |
ESPINAR |
ESPINAR |
A |
100 |
1 |
2.2 |
| 7554 |
CPNP PAVAYOC |
CUSCO |
CUSCO |
LA CONVENCION |
SANTA ANA |
D |
110 |
1 |
2.2 |
| 3475 |
CPNP CUZCO |
CUSCO |
CUSCO |
CUSCO |
CUSCO |
A |
100 |
1 |
2.2 |
| 4070 |
CPNP SANTA MARTA |
AREQUIPA |
AREQUIPA |
AREQUIPA |
AREQUIPA |
A |
160 |
1 |
2.2 |
| 4068 |
CPNP PALACIO VIEJO |
AREQUIPA |
AREQUIPA |
AREQUIPA |
AREQUIPA |
A |
220 |
1 |
2.2 |
| 4285 |
CPNP CENTRAL |
TACNA |
TACNA |
TACNA |
TACNA |
A |
103 |
1 |
2.2 |
2.3: Validar que las comisarias que NO cuentan con planos de construccion, no respondan la preg208
c200_2.3_global <- c200 %>%
mutate(val_nocorresp = if_else(inf207 %in% c('2','3') & (inf208a == 1 | inf208b ==1 | inf208c ==1 | inf208d ==1),1,0 )) %>%
select(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI
, inf207, inf208a, inf208b, inf208c, inf209d, val_nocorresp) %>%
mutate(id_reglas = 2.3)
kable(c200_2.3_global %>% filter(val_nocorresp=='1'), format = "simple", caption = "Top 10 de los resultados de regla 2.3")
Top 10 de los resultados de regla 2.3
| 1995 |
CPNP ALFONSO UGARTE |
LIMA |
LIMA |
LIMA |
LIMA |
A |
2 |
1 |
0 |
0 |
1 |
1 |
2.3 |
| 4078 |
CPNP MOLLENDO |
AREQUIPA |
AREQUIPA |
ISLAY |
MOLLENDO |
A |
3 |
1 |
1 |
1 |
2 |
1 |
2.3 |
| 1915 |
CPNP EL MANZANO |
LIMA |
LIMA |
LIMA |
RIMAC |
B |
3 |
1 |
0 |
0 |
1 |
1 |
2.3 |
| 2145 |
CPNP LA MOLINA |
LIMA |
LIMA |
LIMA |
LA MOLINA |
A |
2 |
1 |
0 |
0 |
2 |
1 |
2.3 |
| 2309 |
CPNP VILLA ALEJANDRO |
LIMA |
LIMA |
LIMA |
VILLA MARIA DEL TRIUNFO |
B |
2 |
1 |
1 |
1 |
1 |
1 |
2.3 |
| 2465 |
CPNP SAN LUIS (CAÑETE) |
LIMA |
LIMA |
CAÑETE |
SAN LUIS |
B |
3 |
0 |
1 |
0 |
2 |
1 |
2.3 |
| 3547 |
CPNP CHINCHAYPUCYO |
CUSCO |
CUSCO |
ANTA |
CHINCHAYPUJIO |
E |
3 |
1 |
0 |
0 |
2 |
1 |
2.3 |
| 3540 |
CPNP IZCUCHACA |
CUSCO |
CUSCO |
ANTA |
ANTA |
C |
2 |
0 |
1 |
0 |
1 |
1 |
2.3 |
| 7564 |
CPNP SANTA MARIA |
CUSCO |
CUSCO |
LA CONVENCION |
MARANURA |
D |
2 |
1 |
0 |
0 |
2 |
1 |
2.3 |
| 952 |
CPNP TUCUME |
LAMBAYEQUE |
LAMBAYEQUE |
LAMBAYEQUE |
TUCUME |
C |
2 |
1 |
0 |
0 |
2 |
1 |
2.3 |
| 3280 |
CPNP MAYOCC |
HUANCAVELICA |
HUANCAVELICA |
CHURCAMPA |
SAN MIGUEL DE MAYOCC |
D |
3 |
1 |
1 |
1 |
2 |
1 |
2.3 |
2.4: Validar la suma de cantidades de puertas (p239)
c200_row <- c200 %>% rowwise(id_unidad_policial, nombre_unidadp)
c200_2.4_global <- c200_row %>%
mutate(sum_r1 = sum(c_across(inf239totalest1:inf239totalest4)), sum_r2 = inf239totalest1+inf239totalme ) %>%
mutate(val_r1 = if_else(sum_r1 == inf239total, 0, 1), val_r2 = if_else(sum_r2 == inf239total, 0, 1)) %>%
select(id_unidad_policial, nombre_unidadp, inf239total, inf239totalest1, inf239totalme, sum_r1, sum_r2, val_r1, val_r2) %>%
mutate(id_reglas = 2.4) %>%
ungroup()
kable(c200_2.4_global %>% filter(val_r2=='1') %>% head(10), format = "simple", caption = "Top 10 de los resultados de regla 2.4")
Top 10 de los resultados de regla 2.4
| 1085 |
CPNP AYACUCHO |
8 |
8 |
1 |
8 |
9 |
0 |
1 |
2.4 |
| 4886 |
CPNP 21 DE ABRIL |
6 |
6 |
1 |
6 |
7 |
0 |
1 |
2.4 |
| 1652 |
CPNP IBERIA |
14 |
10 |
6 |
14 |
16 |
0 |
1 |
2.4 |
| 1965 |
CPNP SAN MIGUEL |
33 |
28 |
7 |
33 |
35 |
0 |
1 |
2.4 |
| 2285 |
CPNP JC MARIATEGUI |
31 |
31 |
1 |
31 |
32 |
0 |
1 |
2.4 |
| 7512 |
CPNP SIVIA |
3 |
0 |
4 |
3 |
4 |
0 |
1 |
2.4 |
| 5140 |
CPNP HUALGAYOC-BAMBAMARCA |
20 |
20 |
3 |
20 |
23 |
0 |
1 |
2.4 |
| 3541 |
CPNP ZURITE |
3 |
3 |
12 |
3 |
15 |
0 |
1 |
2.4 |
| 3552 |
CPNP AMPARAES |
6 |
5 |
4 |
6 |
9 |
0 |
1 |
2.4 |
| 4216 |
CPNP CHUQUIBAMBA CONDESUYOS |
9 |
9 |
4 |
9 |
13 |
0 |
1 |
2.4 |
2.5: Validar la suma de cantidades de ventanas (p242)
c200_2.5_global <- c200_row %>%
mutate(sum_r1 = sum(c_across(inf242totalest1:inf242totalest4)), sum_r2 = inf242totalest1 + inf242totalme) %>%
mutate(val_r1 = if_else(sum_r1 == inf242total, 0, 1), val_r2 = if_else(sum_r2 == inf242total, 0, 1)) %>%
select(id_unidad_policial, nombre_unidadp, inf242total, inf242totalest1, inf242totalme, sum_r1, sum_r2, val_r1, val_r2 ) %>%
mutate(id_reglas = 2.5) %>%
ungroup()
kable(c200_2.5_global %>% filter(val_r2=='1') %>% head(10) , format = "simple", caption = "Top 10 de los resultados de regla 2.5")
Top 10 de los resultados de regla 2.5
| 7500 |
CPNP HUANTA |
64 |
64 |
8 |
64 |
72 |
0 |
1 |
2.5 |
| 3484 |
CPNP INDEPENDENCIA |
12 |
12 |
2 |
12 |
14 |
0 |
1 |
2.5 |
| 1167 |
CPNP SALPO |
10 |
10 |
1 |
10 |
11 |
0 |
1 |
2.5 |
| 3360 |
CPNP OCROS |
11 |
10 |
2 |
11 |
12 |
0 |
1 |
2.5 |
| 3541 |
CPNP ZURITE |
12 |
12 |
12 |
12 |
24 |
0 |
1 |
2.5 |
| 4066 |
CPNP SAN ANTONIO DE CHUCA - IMATA |
88 |
78 |
20 |
88 |
98 |
0 |
1 |
2.5 |
| 4650 |
CPNP POMATA |
2 |
2 |
2 |
2 |
4 |
0 |
1 |
2.5 |
| 4625 |
CPNP MACUSANI-CARABAYA |
5 |
0 |
13 |
5 |
13 |
0 |
1 |
2.5 |
| 3682 |
CPNP DELTA 1 |
5 |
5 |
5 |
5 |
10 |
0 |
1 |
2.5 |
2.6: Validar las sumas de las cantidades de luminarias (p248)
c200_2.6_global <- c200_row %>%
mutate(val_r1 = if_else( inf248tot == inf248totf + inf248totnf, 0, 1 )) %>%
mutate(val_r2 = if_else( inf248totf==inf2481a+inf2482a+inf2483a+inf2484a+inf2485a+inf2486a,0,1 )) %>%
select(id_unidad_policial, nombre_unidadp, val_r1, val_r2 ) %>%
mutate(id_reglas = 2.6) %>%
ungroup()
kable(c200_2.6_global %>% filter(val_r2 =='1') %>% head(10), format = "simple")
2.7: Validar que la sumatoria de áreas de los ambientes de la comisaría sea consistente con la P203, P04 y 209
c200_2.7_v1 <- c200_row %>%
select(id_unidad_policial, nombre_unidadp, inf203, inf204, (contains('area')) ,c(107: 113 ) ) #, c(78:84))
# transformado todas las variables el NULL por NA
c200_2.7_v1[c200_2.7_v1=="NULL"] <- '0'
# extrayendo vectores de columnas para dividir entre cadenas y numericos
c200_2.7_v1.n <- c200_2.7_v1 %>% select_if(is.numeric) %>% colnames() # nombres de var numericas
c200_2.7_v1.s <- c200_2.7_v1 %>% select_if(is.character) %>% colnames() # mombres de var categoricas
c200_2.7_v1.s <- c200_2.7_v1.s[-c(1,2)]
# convirtiendo a numerico para faciliar calculo
c200_2.7_v1[,c200_2.7_v1.s] = data.frame(apply(c200_2.7_v1[,c200_2.7_v1.s],2, as.numeric))
# luego
c200_2.7_v2 <- c200_2.7_v1 %>%
mutate(sum_a = sum(c_across(inf25511area:inf255106area))) %>%
mutate(sum_a_p209 = sum(c_across(inf210a:inf210g))) %>%
select(id_unidad_policial , nombre_unidadp, inf203, inf204, sum_a, sum_a_p209) %>%
mutate(val_203 = if_else( inf203 - sum_a < 0,1,0) , val_204 = if_else( inf204 - sum_a <0,1,0 )) %>%
mutate(val_209 = if_else(sum_a_p209 >= sum_a, 0, 1)) %>% filter(val_209 == 1) %>%
arrange(sum_a_p209) ;
c200_2.7_global <- c200_2.7_v2 %>% ungroup() %>% # se usa ungroup debido a que por defecto estaba calculando con rowwise
mutate(p_rank = round(percent_rank(sum_a_p209),3)*100 ) %>%
filter(p_rank <= 5 | p_rank >= 95) %>%
mutate(id_reglas = 2.7)
kable(c200_2.7_global %>% filter(val_209==1) %>% head(10) , format = "simple", caption = "Top 10 de los resultados de regla 2.7")
Top 10 de los resultados de regla 2.7
| 3610 |
CPNP DE CHECACUPE |
462.60 |
200.0 |
59 |
1 |
0 |
0 |
1 |
0.0 |
2.7 |
| 7012 |
CPNP PUERTO PIZANA |
1200.00 |
200.0 |
263 |
1 |
0 |
1 |
1 |
0.0 |
2.7 |
| 3471 |
CPNP MARCABAMBA |
637.00 |
281.0 |
45 |
2 |
0 |
0 |
1 |
0.6 |
2.7 |
| 1158 |
CPNP JULCAN |
1200.00 |
200.0 |
107 |
3 |
0 |
0 |
1 |
0.9 |
2.7 |
| 1434 |
CPNP BALSAS |
194.64 |
112.0 |
334 |
6 |
1 |
1 |
1 |
1.1 |
2.7 |
| 1639 |
CPNP CURINGA |
10.00 |
12.0 |
28 |
8 |
1 |
1 |
1 |
1.4 |
2.7 |
| 1650 |
CPNP SANTA ELENA |
42.00 |
10.0 |
13 |
10 |
0 |
1 |
1 |
1.7 |
2.7 |
| 1566 |
CPNP SANTA MARIA DE NANAY |
240.00 |
240.0 |
55 |
10 |
0 |
0 |
1 |
1.7 |
2.7 |
| 5934 |
CPNP DOS DE MAYO |
741.40 |
306.9 |
284 |
13 |
0 |
0 |
1 |
2.3 |
2.7 |
| 1479 |
CPNP OMIA |
25.00 |
15.0 |
50 |
15 |
1 |
1 |
1 |
2.6 |
2.7 |
Reglas - capítulo 300
3.1: Validar que el número de equipos de comunicacion sumatoria(p302, p303 y p304) sea igual a su total sumatoria(p305)
c300_row <- c300 %>% rowwise(id_unidad_policial, nombre_unidadp)
# seleccionando un conjunto de colummnas para hacer transformación masiva de NULL <- 0
C300_3.1_v1 <- c300_row %>% select(id_unidad_policial, nombre_unidadp, c(58:102) )
C300_3.1_v1[C300_3.1_v1 == "NULL"] <- '0'
c300_3.1_global <- C300_3.1_v1 %>%
mutate(total_r = sum( as.numeric( c_across(inf3031a:inf3049d)) ), total_sum_r = sum( as.numeric( c_across(inf3051:inf3059)) )) %>%
mutate(val_305 = if_else(total_r == total_sum_r, 0 ,1 )) %>%
select(id_unidad_policial, nombre_unidadp, total_r, total_sum_r, val_305) %>%
mutate(id_reglas = 3.1) %>%
ungroup()
kable(c300_3.1_global %>% filter(val_305 == '1') %>% head(10), format ="simple", caption = "Top 10 de los resultados de regla 3.1" )
Top 10 de los resultados de regla 3.1
3.3: Validar para cada comisaria, que los registros en la preg 313 correspondan en igual numero a las registradas en la preg 307 - 310
c300_3.3 <- c300 %>%
rowwise(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI) %>%
select(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI,
inf3101, inf3102)
#transformando
c300_3.3[c300_3.3 == 'NULL'] <- '0'
# para recodificar
c300_3.3$inf3101 <- recode(c300_3.3$inf3101, "NA=0") # Este tipo solo funciona con recode de car
c300_3.3$inf3101 <- as.numeric(c300_3.3$inf3101)
c300_3.3$inf3102 <- as.numeric(c300_3.3$inf3102)
# Entonces con preg 310 se obtiene los totales de pc/laptops
c300_3.3_v1 <- c300_3.3 %>%
mutate(total_compu1 = inf3101+inf3102 )
# posteriormente se obtiene reporte a contrastar con preg 313 (sobre detalle pc/laptops)
c300_pc_3.3 <- c300_pc %>%
group_by(id_unidad_policial) %>%
select(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI) %>%
mutate(recuento = n()) %>%
distinct()
# otra forma
c300_pc_3.3_2 <- c300_pc %>%
group_by(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI) %>%
summarise(recuento = n())
# al final, unimos todo !!
c300_3.3_global <- c300_3.3_v1 %>%
inner_join(c300_pc_3.3_2, by = c('id_unidad_policial')) %>%
select(id_unidad_policial, nombre_unidadp.x, REGION_POL.x, nombre_departamento.x, nombre_provincia.x, nombre_distrito.x, TIPO_COMI.x,
inf3101, inf3102, total_compu1, recuento) %>%
mutate(val_compus = if_else(total_compu1 == recuento,0,1)) %>%
mutate(id_reglas = 3.3) %>%
ungroup()
kable(c300_3.3_global %>% filter(val_compus == '1') %>% head(10), format ="simple", caption = "Top 10 de los resultados de regla 3.3" )
Top 10 de los resultados de regla 3.3
| 3663 |
CPNP PUERTO MALDONADO |
MADRE DE DIOS |
MADRE DE DIOS |
TAMBOPATA |
TAMBOPATA |
B |
24 |
1 |
25 |
24 |
1 |
3.3 |
| 1168 |
CPNP VIRU |
LA LIBERTAD |
LA LIBERTAD |
VIRU |
VIRU |
B |
13 |
0 |
13 |
14 |
1 |
3.3 |
| 1990 |
CPNP COTABAMBAS |
LIMA |
LIMA |
LIMA |
LIMA |
A |
27 |
0 |
27 |
26 |
1 |
3.3 |
| 6014 |
CPNP DULANTO |
CALLAO |
CALLAO |
CALLAO |
CALLAO |
B |
13 |
0 |
13 |
14 |
1 |
3.3 |
| 937 |
CPNP SAN MARTIN DE PORRAS |
LAMBAYEQUE |
LAMBAYEQUE |
LAMBAYEQUE |
LAMBAYEQUE |
B |
7 |
0 |
7 |
6 |
1 |
3.3 |
| 1356 |
CPNP RIOJA |
SAN MARTIN |
SAN MARTIN |
RIOJA |
RIOJA |
B |
34 |
1 |
35 |
36 |
1 |
3.3 |
| 4266 |
CPNP QUINISTAQUILLAS |
MOQUEGUA |
MOQUEGUA |
GENERAL SANCHEZ CERRO |
QUINISTAQUILLAS |
D |
4 |
0 |
4 |
5 |
1 |
3.3 |
| 1123 |
CPNP FLORENCIA DE MORA |
LA LIBERTAD |
LA LIBERTAD |
TRUJILLO |
FLORENCIA DE MORA |
B |
18 |
0 |
18 |
16 |
1 |
3.3 |
| 1925 |
CPNP CONDEVILLA |
LIMA |
LIMA |
LIMA |
SAN MARTIN DE PORRES |
B |
20 |
0 |
20 |
19 |
1 |
3.3 |
| 1920 |
CPNP SAN MARTIN DE PORRAS |
LIMA |
LIMA |
LIMA |
SAN MARTIN DE PORRES |
A |
30 |
0 |
30 |
12 |
1 |
3.3 |
3.4: Validar con percentiles los años de antiguedad de las pc/laptop preg 317
c300_3.4 <- c300_pc %>%
select(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI, inf317)
# tranformando y recoficando
c300_3.4[c300_3.4 == 'NULL'] <- '0'
c300_3.4$inf317 <- as.numeric(c300_3.4$inf317)
# entonces
c300_3.4_global <- c300_3.4 %>%
mutate(p_rank =round(percent_rank(inf317),3) *100) %>%
filter(p_rank > 99) %>%
mutate(val_ant = 1) %>%
mutate(id_reglas = 3.4)
kable(c300_3.4_global %>% filter(val_ant == '1') %>% head(10), format ="simple", caption = "Top 10 de los resultados de regla 3.4" )
Top 10 de los resultados de regla 3.4
| 5904 |
CPNP RANCHO |
HUANUCO |
HUANUCO |
HUANUCO |
CHURUBAMBA |
D |
17 |
99.9 |
1 |
3.4 |
| 5904 |
CPNP RANCHO |
HUANUCO |
HUANUCO |
HUANUCO |
CHURUBAMBA |
D |
13 |
99.6 |
1 |
3.4 |
| 4076 |
CPNP CIUDAD MI TRABAJO |
AREQUIPA |
AREQUIPA |
AREQUIPA |
SOCABAYA |
A |
11 |
99.2 |
1 |
3.4 |
| 4068 |
CPNP PALACIO VIEJO |
AREQUIPA |
AREQUIPA |
AREQUIPA |
AREQUIPA |
A |
13 |
99.6 |
1 |
3.4 |
| 5343 |
PUEBLO NUEVO (CHINCHA) |
ICA |
ICA |
CHINCHA |
PUEBLO NUEVO |
B |
12 |
99.4 |
1 |
3.4 |
| 2105 |
CPNP BAYOVAR |
LIMA |
LIMA |
LIMA |
SAN JUAN DE LURIGANCHO |
B |
13 |
99.6 |
1 |
3.4 |
| 2105 |
CPNP BAYOVAR |
LIMA |
LIMA |
LIMA |
SAN JUAN DE LURIGANCHO |
B |
13 |
99.6 |
1 |
3.4 |
| 2105 |
CPNP BAYOVAR |
LIMA |
LIMA |
LIMA |
SAN JUAN DE LURIGANCHO |
B |
13 |
99.6 |
1 |
3.4 |
| 1525 |
CPNP ARAMANGO |
AMAZONAS |
AMAZONAS |
BAGUA |
ARAMANGO |
E |
12 |
99.4 |
1 |
3.4 |
| 3484 |
CPNP INDEPENDENCIA |
CUSCO |
CUSCO |
CUSCO |
CUSCO |
C |
12 |
99.4 |
1 |
3.4 |
3.5: Validar que la preg 328-3 sea exactamente igual a la preg 330
c300_3.5 <- c300 %>%
select(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI,
inf3283, inf330)
# recodificando
c300_3.5$inf3283 <- recode(c300_3.5$inf3283, "2=0") ;
c300_3.5$inf330 <- recode(c300_3.5$inf330, "2=0")
# entonces
c300_3.5_global <-c300_3.5 %>%
mutate(val_SIDPOL = if_else(inf3283 == inf330, 0, 1)) %>%
mutate(id_reglas = 3.5)
kable(c300_3.5_global %>% filter(val_SIDPOL == '1') %>% head(10), format ="simple", caption = "Top 10 de los resultados de regla 3.5" )
Top 10 de los resultados de regla 3.5
| 7013 |
CPNP VENENILLO |
HUANUCO |
HUANUCO |
LEONCIO PRADO |
RUPA-RUPA |
D |
1 |
0 |
1 |
3.5 |
| 4268 |
CPNP ICHUÑA |
MOQUEGUA |
MOQUEGUA |
GENERAL SANCHEZ CERRO |
ICHUÑA |
C |
1 |
0 |
1 |
3.5 |
| 3592 |
CPNP SALVACION |
CUSCO |
MADRE DE DIOS |
MANU |
MANU |
D |
1 |
0 |
1 |
3.5 |
| 1135 |
CPNP SIMBAL |
LA LIBERTAD |
LA LIBERTAD |
TRUJILLO |
SIMBAL |
E |
1 |
0 |
1 |
3.5 |
| 1614 |
CPNP SANTA RITA DE CASTILLA |
LORETO |
LORETO |
LORETO |
PARINARI |
E |
1 |
0 |
1 |
3.5 |
| 1625 |
CPNP CHIMBOTE |
LORETO |
LORETO |
MARISCAL RAMON CASTILLA |
RAMON CASTILLA |
E |
0 |
1 |
1 |
3.5 |
| 7650 |
CPNP SAN ANTONIO DE JICAMARCA |
LIMA |
LIMA |
LIMA |
SAN JUAN DE LURIGANCHO |
B |
1 |
0 |
1 |
3.5 |
| 3406 |
CPNP QUEROBAMBA-SUCRE |
AYACUCHO |
AYACUCHO |
SUCRE |
QUEROBAMBA |
E |
0 |
1 |
1 |
3.5 |
| 3391 |
CPNP VILCANCHOS |
AYACUCHO |
AYACUCHO |
VICTOR FAJARDO |
VILCANCHOS |
E |
1 |
0 |
1 |
3.5 |
| 3362 |
CPNP CHACCO |
AYACUCHO |
AYACUCHO |
HUAMANGA |
JESUS NAZARENO |
E |
1 |
0 |
1 |
3.5 |
3.6: Validar que la sumatoria de cifras de preg 339 sea igual a preg 348
c300_3.6 <- c300 %>%
select(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI,
contains('inf339'), contains('inf347'))
# recodificando
c300_3.6[c300_3.6 == 'NULL'] <- '0'
# convirtiendo cadena a numerico
c300_3.6[,8:31] = data.frame(apply(c300_3.6[,8:31], 2, as.numeric))
# entonces
c300_3.6_global<- c300_3.6 %>% rowwise(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI) %>%
mutate(tot_r1 =inf33911+inf33912,
tot_r2 = inf33921+inf33922,
tot_r3 = inf33931+inf33932,
tot_r4 = inf33941+inf33942,
tot_r5 = inf33951+inf33952,
tot_r6 = inf33961+inf33962,
tot_r7 = inf33971+inf33972,
tot_r8 = inf33981+inf33982) %>%
mutate(val_r1 = if_else(tot_r1 == inf3471, 0, 1),
val_r2 = if_else(tot_r2 == inf3472, 0, 1),
val_r3 = if_else(tot_r3 == inf3473, 0, 1),
val_r4 = if_else(tot_r4 == inf3474, 0, 1),
val_r5 = if_else(tot_r5 == inf3475, 0, 1),
val_r6 = if_else(tot_r6 == inf3476, 0, 1),
val_r7 = if_else(tot_r7 == inf3477, 0, 1),
val_r8 = if_else(tot_r8 == inf3478, 0, 1) ) %>%
mutate(val_final = if_else(sum(c_across(val_r1:val_r8))>0, 1, 0)) %>%
select(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI, val_final) %>%
mutate(id_reglas = 3.6) %>%
ungroup() ;
kable(c300_3.6_global %>% filter(val_final == '1') %>% head(10), format ="simple", caption = "Top 10 de los resultados de regla 3.6" )
Top 10 de los resultados de regla 3.6
| 3663 |
CPNP PUERTO MALDONADO |
MADRE DE DIOS |
MADRE DE DIOS |
TAMBOPATA |
TAMBOPATA |
B |
1 |
3.6 |
| 1085 |
CPNP AYACUCHO |
LA LIBERTAD |
LA LIBERTAD |
TRUJILLO |
TRUJILLO |
A |
1 |
3.6 |
| 1985 |
CPNP SAN ANDRES |
LIMA |
LIMA |
LIMA |
LIMA |
A |
1 |
3.6 |
| 6010 |
CPNP PLAYA RIMAC |
CALLAO |
CALLAO |
CALLAO |
CALLAO |
B |
1 |
3.6 |
| 3650 |
CPNP ESPINAR |
CUSCO |
CUSCO |
ESPINAR |
ESPINAR |
A |
1 |
3.6 |
| 4068 |
CPNP PALACIO VIEJO |
AREQUIPA |
AREQUIPA |
AREQUIPA |
AREQUIPA |
A |
1 |
3.6 |
| 808 |
CPNP DEL NORTE |
LAMBAYEQUE |
LAMBAYEQUE |
CHICLAYO |
CHICLAYO |
B |
1 |
3.6 |
| 1341 |
CPNP UCHUGLLA |
SAN MARTIN |
SAN MARTIN |
MOYOBAMBA |
MOYOBAMBA |
B |
1 |
3.6 |
| 4801 |
CPNP HUARAZ |
ANCASH |
ANCASH |
HUARAZ |
HUARAZ |
A |
1 |
3.6 |
| 4635 |
CPNP COLLAO-LLAVE |
PUNO |
PUNO |
EL COLLAO |
ILAVE |
A |
1 |
3.6 |
3.7: Validar que la sumatoria de cifras de preg 337 sea igual a preg 348 y a la sumatoria de preg 339
c300_3.7 <- c300 %>%
select(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI,
contains('inf337'), contains('inf347') )
# recodificando
c300_3.7[c300_3.7 == 'NULL'] <- '0'
# convirtiendo cadena a numerico
c300_3.7[,8:39] = data.frame(apply(c300_3.7[,8:39], 2, as.numeric))
# entonces
c300_3.7_global <- c300_3.7 %>% rowwise(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI) %>%
mutate(tot_r1 = sum(c_across(inf3371a : inf3371c)),
tot_r2 = sum(c_across(inf3372a : inf3372c)),
tot_r3 = sum(c_across(inf3373a : inf3373c)),
tot_r4 = sum(c_across(inf3374a : inf3374c)),
tot_r5 = sum(c_across(inf3375a : inf3375c)),
tot_r6 = sum(c_across(inf3376a : inf3376c)),
tot_r7 = sum(c_across(inf3377a : inf3377c)),
tot_r8 = sum(c_across(inf3378a : inf3378c)) ) %>%
mutate(val_r1 = if_else(tot_r1 == inf3471, 0, 1),
val_r2 = if_else(tot_r2 == inf3472, 0, 1),
val_r3 = if_else(tot_r3 == inf3473, 0, 1),
val_r4 = if_else(tot_r4 == inf3474, 0, 1),
val_r5 = if_else(tot_r5 == inf3475, 0, 1),
val_r6 = if_else(tot_r6 == inf3476, 0, 1),
val_r7 = if_else(tot_r7 == inf3477, 0, 1),
val_r8 = if_else(tot_r8 == inf3478, 0, 1) ) %>%
mutate(val_final = if_else(sum(c_across(val_r1:val_r8))>0, 1, 0)) %>%
select(id_unidad_policial, nombre_unidadp, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito, TIPO_COMI, val_final) %>%
mutate(id_reglas = 3.7) %>%
ungroup() ;
kable(c300_3.7_global %>% filter(val_final == '1') %>% head(10), format ="simple", caption = "Top 10 de los resultados de regla 3.7" )
Top 10 de los resultados de regla 3.7
| 1085 |
CPNP AYACUCHO |
LA LIBERTAD |
LA LIBERTAD |
TRUJILLO |
TRUJILLO |
A |
1 |
3.7 |
| 1985 |
CPNP SAN ANDRES |
LIMA |
LIMA |
LIMA |
LIMA |
A |
1 |
3.7 |
| 7500 |
CPNP HUANTA |
VRAEM |
AYACUCHO |
HUANTA |
HUANTA |
A |
1 |
3.7 |
| 6010 |
CPNP PLAYA RIMAC |
CALLAO |
CALLAO |
CALLAO |
CALLAO |
B |
1 |
3.7 |
| 4068 |
CPNP PALACIO VIEJO |
AREQUIPA |
AREQUIPA |
AREQUIPA |
AREQUIPA |
A |
1 |
3.7 |
| 808 |
CPNP DEL NORTE |
LAMBAYEQUE |
LAMBAYEQUE |
CHICLAYO |
CHICLAYO |
B |
1 |
3.7 |
| 1341 |
CPNP UCHUGLLA |
SAN MARTIN |
SAN MARTIN |
MOYOBAMBA |
MOYOBAMBA |
B |
1 |
3.7 |
| 4801 |
CPNP HUARAZ |
ANCASH |
ANCASH |
HUARAZ |
HUARAZ |
A |
1 |
3.7 |
| 4635 |
CPNP COLLAO-LLAVE |
PUNO |
PUNO |
EL COLLAO |
ILAVE |
A |
1 |
3.7 |
| 1487 |
CPNP BAGUA GRANDE-UTCUBAMBA |
AMAZONAS |
AMAZONAS |
UTCUBAMBA |
BAGUA GRANDE |
A |
1 |
3.7 |
Reglas - capítulo 400
4.1: Validar todas las comisarias que cuentan con CEM con la data del CEM - p401e
# data descargada del portal AURORA sobre data de registro de casos del CEM 2020
data_cem <- read_sav("BD Registro de Casos del CEM - Diciembre 2020-SDP V2.sav")
# Se consolida en una tabla y se extrae solo los registros hechos en comisaria
d1 <- data_cem %>%
group_by(CEM) %>%
count () %>%
filter(grepl("COMISARI" , CEM) ) %>%
mutate(COMISARIA_2 = str_sub(CEM, 11)) %>%
mutate(COMISARIA_3 = COMISARIA_2)
d1 <- as.data.frame(d1)
# la unica forma de cruzar la info es con el nombre de la comisaria
# para ello se extrae el nombre de la comisaria del SIUP sin el CPNP
# y se almacena en COMISARIA_2
c400_d1 <- c400 %>% mutate(COMISARIA_2 = str_sub(nombre_unidadp,6))
#c400_d1 %>% select(nombre_unidadp, COMISARIA_2)
# finalmente se realiza el join respectivo
c400_4.1 <- c400_d1 %>% left_join(d1, by=c("COMISARIA_2"))
# se depuran algunas cosas
c400_4.1 <- c400_4.1 %>%
select(id_unidad_policial, nombre_unidadp, nombre_departamento, nombre_provincia, nombre_distrito, inf401e, COMISARIA_2, COMISARIA_3)
# para recodificar
c400_4.1$inf401e <- recode(c400_4.1$inf401e, "2=0")
# y finalmente el indicador de validacion de CEM
c400_4.1_global <- c400_4.1 %>% mutate(val_cem = if_else((inf401e==0 & !is.na(COMISARIA_3)) | (inf401e==1 & is.na(COMISARIA_3)),1,0) ) %>%
mutate(id_reglas = 4.1)
kable(c400_4.1_global %>% filter(val_cem == 1) %>% head(10), format ="simple", caption = "Top 10 de los resultados de regla 4.1" )
Top 10 de los resultados de regla 4.1
| 2400 |
CPNP SAN VICENTE |
LIMA |
CAÑETE |
SAN VICENTE DE CAÑETE |
1 |
SAN VICENTE |
NA |
1 |
4.1 |
| 5800 |
CPNP SAN JOSE |
TUMBES |
TUMBES |
TUMBES |
0 |
SAN JOSE |
SAN JOSE |
1 |
4.1 |
| 5006 |
CPNP SAN JOSE |
CAJAMARCA |
CAJAMARCA |
CAJAMARCA |
0 |
SAN JOSE |
SAN JOSE |
1 |
4.1 |
| 1025 |
CPNP JAEN |
CAJAMARCA |
JAEN |
JAEN |
1 |
JAEN |
NA |
1 |
4.1 |
| 3484 |
CPNP INDEPENDENCIA |
CUSCO |
CUSCO |
CUSCO |
0 |
INDEPENDENCIA |
INDEPENDENCIA |
1 |
4.1 |
| 3200 |
CPNP HUANCAVELICA |
HUANCAVELICA |
HUANCAVELICA |
HUANCAVELICA |
0 |
HUANCAVELICA |
HUANCAVELICA |
1 |
4.1 |
| 814 |
CPNP EL PORVENIR |
LAMBAYEQUE |
CHICLAYO |
CHICLAYO |
0 |
EL PORVENIR |
EL PORVENIR |
1 |
4.1 |
| 937 |
CPNP SAN MARTIN DE PORRAS |
LAMBAYEQUE |
LAMBAYEQUE |
LAMBAYEQUE |
1 |
SAN MARTIN DE PORRAS |
NA |
1 |
4.1 |
| 4325 |
CPNP AUGUSTO B LEGUIA |
TACNA |
TACNA |
TACNA |
1 |
AUGUSTO B LEGUIA |
NA |
1 |
4.1 |
| 7820 |
CPNP YAULI-LA OROYA |
JUNIN |
YAULI |
LA OROYA |
1 |
YAULI-LA OROYA |
NA |
1 |
4.1 |
4.2: Validar que la fecha de expedicion del certificado de inspeccion tecnica de seguridad en edificaciones se encuentre dentro de un rango aceptable -p405
c400_4.2 <- c400 %>%select(id_unidad_policial, nombre_unidadp, nombre_departamento, nombre_provincia, nombre_distrito, inf405, inf405)
c400_4.2[c400_4.2=="NULL"] <- NA
c400_4.2$inf405 <- dmy(c400_4.2$inf405)
c400_4.2_global <- c400_4.2 %>% select(id_unidad_policial, nombre_unidadp, nombre_departamento, nombre_provincia, nombre_distrito, inf405) %>%
mutate(anio = year(inf405), val_fecha = if_else(today() >= inf405 , 0,1 )) %>%
mutate(val_fecha2 = if_else(anio < 2019,1,0)) %>%
filter(val_fecha == 1 | val_fecha2 ==1) %>%
mutate(id_reglas = 4.2) %>%
ungroup()
kable(c400_4.2_global %>% head(10), format ="simple", caption = "Top 10 de los resultados de regla 4.2" )
Top 10 de los resultados de regla 4.2
| 1164 |
CPNP AGALLPAMPA |
LA LIBERTAD |
OTUZCO |
AGALLPAMPA |
2022-01-01 |
2022 |
1 |
0 |
4.2 |
| 2280 |
CPNP VILLA MARIA DEL TRIUNFO |
LIMA |
LIMA |
VILLA MARIA DEL TRIUNFO |
2018-04-17 |
2018 |
0 |
1 |
4.2 |
| 1018 |
CPNP ANDABAMBA |
CAJAMARCA |
SANTA CRUZ |
ANDABAMBA |
2021-09-30 |
2021 |
1 |
0 |
4.2 |
| 4046 |
CPNP CAYLLOMA |
AREQUIPA |
CAYLLOMA |
CAYLLOMA |
2018-02-15 |
2018 |
0 |
1 |
4.2 |
| 958 |
CPNP PACORA |
LAMBAYEQUE |
LAMBAYEQUE |
PACORA |
2022-02-03 |
2022 |
1 |
0 |
4.2 |
| 744 |
CPNP PAIMAS |
PIURA |
AYABACA |
PAIMAS |
2018-05-21 |
2018 |
0 |
1 |
4.2 |
4.3: validar que los años de elaboración y actualización de los planes de defensa y seguridad no sean mayores a 20 años - p409
c400_row <- c400 %>% rowwise(id_unidad_policial, nombre_unidadp)
c400_4.3 <- c400_row %>% select(id_unidad_policial, nombre_unidadp
, inf4091e,inf4092e,inf4093e,inf4094e,inf4095e
, inf4091a,inf4092a, inf4093a, inf4094a, inf4095a )
# transformando los 0 por NA
c400_4.3[c400_4.3 == 0] <- NA
c400_4.3_global <- c400_4.3 %>% mutate(min_x = min(c_across(inf4091e:inf4095a), na.rm = T)) %>% mutate(val_anios = if_else(min_x < 2000,1,0)) %>%
filter(val_anios != 0) %>%
mutate(id_reglas = 4.3) %>%
ungroup()
kable(c400_4.3_global %>% head(10), format ="simple", caption = "Top 10 de los resultados de regla 4.3" )
Top 10 de los resultados de regla 4.3
| 4280 |
CPNP PAMPA INALAMBRICA |
NA |
NA |
NA |
NA |
1990 |
NA |
NA |
NA |
NA |
2020 |
1990 |
1 |
4.3 |
| 7500 |
CPNP HUANTA |
1995 |
1995 |
1995 |
1995 |
NA |
2020 |
2020 |
2020 |
2020 |
NA |
1995 |
1 |
4.3 |
| 814 |
CPNP EL PORVENIR |
1996 |
1996 |
1996 |
1996 |
NA |
2020 |
2020 |
2020 |
2020 |
NA |
1996 |
1 |
4.3 |
| 4900 |
CPNP RINCONADA |
1987 |
1987 |
1987 |
1987 |
NA |
2020 |
2020 |
2020 |
2020 |
NA |
1987 |
1 |
4.3 |
| 5335 |
CPNP PISCO |
NA |
NA |
1970 |
NA |
NA |
NA |
NA |
1970 |
NA |
NA |
1970 |
1 |
4.3 |
| 4520 |
CPNP ALTO PUNO |
1987 |
NA |
1987 |
NA |
NA |
2020 |
NA |
2020 |
NA |
NA |
1987 |
1 |
4.3 |
| 4500 |
CPNP PUNO |
NA |
NA |
NA |
NA |
1970 |
NA |
NA |
NA |
NA |
2020 |
1970 |
1 |
4.3 |
| 652 |
CPNP TALANDRACAS |
2017 |
1970 |
1970 |
1970 |
2017 |
2020 |
2020 |
2020 |
2020 |
2020 |
1970 |
1 |
4.3 |
| 3154 |
CPNP PUERTO BERMUDEZ |
1996 |
1996 |
1996 |
1996 |
NA |
2020 |
2020 |
2020 |
2020 |
NA |
1996 |
1 |
4.3 |
| 1215 |
CPNP SANTIAGO DE CAO |
1970 |
NA |
NA |
NA |
NA |
2020 |
NA |
NA |
NA |
NA |
1970 |
1 |
4.3 |
4.4: Validar la antiguedad de los planes de emergencia de las comisarías (que antiguedad no superior a 20 años)- p412
c400_4.4 <- c400_row %>% select(id_unidad_policial, nombre_unidadp
, inf4121e,inf4122e,inf4123e,inf4124e, inf4121a,inf4122a,inf4123a,inf4124a )
# transformando los NULL por NA
c400_4.4[c400_4.4 == "NULL"] <- NA
# transformando los 0 por NA
c400_4.4[c400_4.4 == 0] <- NA
c400_4.4_global <- c400_4.4 %>% mutate(min_x = min(c_across(inf4121e:inf4124a), na.rm = T)) %>%
mutate(val_anios = if_else(min_x < 2000, 1,0)) %>%
filter(val_anios != 0) %>%
mutate(id_reglas = 4.4) %>%
ungroup() ;
kable(c400_4.3_global %>% filter(val_anios ==1) %>% head(10), format ="simple", caption = "Top 10 de los resultados de regla 4.4" )
Top 10 de los resultados de regla 4.4
| 4280 |
CPNP PAMPA INALAMBRICA |
NA |
NA |
NA |
NA |
1990 |
NA |
NA |
NA |
NA |
2020 |
1990 |
1 |
4.3 |
| 7500 |
CPNP HUANTA |
1995 |
1995 |
1995 |
1995 |
NA |
2020 |
2020 |
2020 |
2020 |
NA |
1995 |
1 |
4.3 |
| 814 |
CPNP EL PORVENIR |
1996 |
1996 |
1996 |
1996 |
NA |
2020 |
2020 |
2020 |
2020 |
NA |
1996 |
1 |
4.3 |
| 4900 |
CPNP RINCONADA |
1987 |
1987 |
1987 |
1987 |
NA |
2020 |
2020 |
2020 |
2020 |
NA |
1987 |
1 |
4.3 |
| 5335 |
CPNP PISCO |
NA |
NA |
1970 |
NA |
NA |
NA |
NA |
1970 |
NA |
NA |
1970 |
1 |
4.3 |
| 4520 |
CPNP ALTO PUNO |
1987 |
NA |
1987 |
NA |
NA |
2020 |
NA |
2020 |
NA |
NA |
1987 |
1 |
4.3 |
| 4500 |
CPNP PUNO |
NA |
NA |
NA |
NA |
1970 |
NA |
NA |
NA |
NA |
2020 |
1970 |
1 |
4.3 |
| 652 |
CPNP TALANDRACAS |
2017 |
1970 |
1970 |
1970 |
2017 |
2020 |
2020 |
2020 |
2020 |
2020 |
1970 |
1 |
4.3 |
| 3154 |
CPNP PUERTO BERMUDEZ |
1996 |
1996 |
1996 |
1996 |
NA |
2020 |
2020 |
2020 |
2020 |
NA |
1996 |
1 |
4.3 |
| 1215 |
CPNP SANTIAGO DE CAO |
1970 |
NA |
NA |
NA |
NA |
2020 |
NA |
NA |
NA |
NA |
1970 |
1 |
4.3 |
Reglas - capítulo 600
6.1: Focalizar a las comisarias mayores al percentil 97 de la preg.605A, sobre el número de sesiones de comité distrital en el año.
c600_6.1_v1 <-c600 %>%
select(id_unidad_policial, nombre_unidadp , TIPO_COMI ,REGION_POL ,nombre_departamento, nombre_provincia,nombre_distrito,
inf605a)
# para recodificar los NULL a cero
c600_6.1_v1[c600_6.1_v1=="NULL"] <- '0'
c600_6.1_global <- c600_6.1_v1 %>%
mutate(p_rank = round(percent_rank(inf605a) ,3)*100) %>%
mutate(val_per = if_else(p_rank >= 97.0, 1,0)) %>%
select(id_unidad_policial, nombre_unidadp , TIPO_COMI ,REGION_POL ,nombre_departamento, nombre_provincia,nombre_distrito,
inf605a, p_rank, val_per) %>%
mutate(id_reglas = 6.1)
kable(c600_6.1_global %>% filter(val_per ==1) %>% head(10), format ="simple", caption = "Top 10 de los resultados de regla 6.1" )
Top 10 de los resultados de regla 6.1
| 7000 |
CPNP TINGO MARIA |
A |
HUANUCO |
HUANUCO |
LEONCIO PRADO |
RUPA-RUPA |
9 |
98.8 |
1 |
6.1 |
| 1195 |
CPNP SAN JOSE |
D |
LA LIBERTAD |
LA LIBERTAD |
PACASMAYO |
SAN JOSE |
9 |
98.8 |
1 |
6.1 |
| 1865 |
CPNP TAHUANTINSUYO |
B |
LIMA |
LIMA |
LIMA |
INDEPENDENCIA |
9 |
98.8 |
1 |
6.1 |
| 1911 |
CPNP FLOR DE AMANCAES |
C |
LIMA |
LIMA |
LIMA |
RIMAC |
9 |
98.8 |
1 |
6.1 |
| 2035 |
CPNP APOLO |
A |
LIMA |
LIMA |
LIMA |
LA VICTORIA |
9 |
98.8 |
1 |
6.1 |
| 2460 |
CPNP SAN ANTONIO |
C |
LIMA |
LIMA |
CAÑETE |
SAN ANTONIO |
9 |
98.8 |
1 |
6.1 |
| 3622 |
CPNP POMACANCHI |
E |
CUSCO |
CUSCO |
ACOMAYO |
POMACANCHI |
9 |
98.8 |
1 |
6.1 |
| 3290 |
CPNP HUAYTARA |
B |
ICA |
HUANCAVELICA |
HUAYTARA |
HUAYTARA |
9 |
98.8 |
1 |
6.1 |
| 4366 |
CPNP ITE |
E |
TACNA |
TACNA |
JORGE BASADRE |
ITE |
9 |
98.8 |
1 |
6.1 |
| 5464 |
CPNP HAQUIRA |
C |
APURIMAC |
APURIMAC |
COTABAMBAS |
HAQUIRA |
9 |
98.8 |
1 |
6.1 |
6.2: Focalizar a las comisarías qe tuvieron mucha diferencia respecto a las preg. 605B y preg.605A.
Es decir, diferencia en porcentajes de las reuniones que tuvieron vs reuniones que asistieron (se mapean los pocentajes bajos).
c600_row <- c600 %>% rowwise(id_unidad_policial, nombre_unidadp , TIPO_COMI ,REGION_POL ,nombre_departamento, nombre_provincia,nombre_distrito)
c600_6.2_v1 <- c600_row %>%
select(id_unidad_policial, nombre_unidadp , TIPO_COMI ,REGION_POL ,nombre_departamento, nombre_provincia,nombre_distrito,
inf605b, inf605a)
# recodificando los NULL a cero
c600_6.2_v1[c600_6.2_v1== "NULL"] <- '0'
# Entonces
c600_6.2_global <- c600_6.2_v1 %>%
mutate(val_reu = if_else(inf605b > inf605a, 1,0)) %>%
mutate(nro_reu = (round(as.numeric(inf605b)/ as.numeric(inf605a),2))*100) %>%
mutate(val_nro_reu = if_else(nro_reu <=25, 1,0)) %>%
select(id_unidad_policial, nombre_unidadp , TIPO_COMI ,REGION_POL ,nombre_departamento, nombre_provincia,nombre_distrito,
inf605a, inf605b, nro_reu, val_reu, val_nro_reu ) %>%
mutate(id_reglas = 6.2) %>%
ungroup();
kable(c600_6.2_global %>% filter(val_nro_reu ==1) %>% head(10), format ="simple", caption = "Top 10 de los resultados de regla 6.2" )
Top 10 de los resultados de regla 6.2
| 937 |
CPNP SAN MARTIN DE PORRAS |
B |
LAMBAYEQUE |
LAMBAYEQUE |
LAMBAYEQUE |
LAMBAYEQUE |
1 |
0 |
0 |
0 |
1 |
6.2 |
| 1356 |
CPNP RIOJA |
B |
SAN MARTIN |
SAN MARTIN |
RIOJA |
RIOJA |
125 |
12 |
10 |
0 |
1 |
6.2 |
| 4519 |
CPNP ICHU |
D |
PUNO |
PUNO |
PUNO |
PUNO |
6 |
1 |
17 |
0 |
1 |
6.2 |
| 3592 |
CPNP SALVACION |
D |
CUSCO |
MADRE DE DIOS |
MANU |
MANU |
4 |
1 |
25 |
0 |
1 |
6.2 |
| 2205 |
CPNP SURCO |
A |
LIMA |
LIMA |
LIMA |
SANTIAGO DE SURCO |
1 |
0 |
0 |
0 |
1 |
6.2 |
| 5822 |
CPNP AGUAS VERDES |
B |
TUMBES |
TUMBES |
ZARUMILLA |
AGUAS VERDES |
5 |
0 |
0 |
0 |
1 |
6.2 |
| 5162 |
CPNP SANTA CRUZ DE CUTERVO |
E |
CAJAMARCA |
CAJAMARCA |
CUTERVO |
SANTA CRUZ |
2 |
0 |
0 |
0 |
1 |
6.2 |
| 1075 |
CPNP COLASAY |
E |
CAJAMARCA |
CAJAMARCA |
JAEN |
COLASAY |
3 |
0 |
0 |
0 |
1 |
6.2 |
| 7572 |
CPNP KITENI |
C |
VRAEM |
CUSCO |
LA CONVENCION |
ECHARATE |
1 |
0 |
0 |
0 |
1 |
6.2 |
| 5430 |
CPNP PROGRESO |
D |
APURIMAC |
APURIMAC |
GRAU |
PROGRESO |
2 |
0 |
0 |
0 |
1 |
6.2 |
6.3: Verificar que los resultados de la preg.606A deben ser mayores o iguales a los de la preg 607B
c600_6.3 <- c600_row %>%
select(id_unidad_policial, nombre_unidadp , TIPO_COMI ,REGION_POL ,nombre_departamento, nombre_provincia,nombre_distrito,
inf606a, inf607a)
# recodificando
c600_6.3[c600_6.3== "NULL"] <- '0'
# entonces
c600_6.3_global <-c600_6.3 %>%
mutate(val_mayores = if_else(as.numeric(inf606a) < as.numeric(inf607a),1,0)) %>%
select(id_unidad_policial, nombre_unidadp , TIPO_COMI ,REGION_POL ,nombre_departamento, nombre_provincia,nombre_distrito,
inf606a, inf607a, val_mayores ) %>%
mutate(id_reglas = 6.3) %>%
ungroup()
kable(c600_6.3_global %>% filter(val_mayores ==1) %>% head(10), format ="simple", caption = "Top 10 de los resultados de regla 6.3" )
Top 10 de los resultados de regla 6.3
6.4: Contrastar las comisarias que hacen el monitoreo de patrullaje en SIPCOP (preg 610A) respecto a la preg 3312 (mapa de delito en SIPCOP)
c600_6.4_c300 <- c300 %>% select(id_unidad_policial, nombre_unidadp , TIPO_COMI ,REGION_POL ,nombre_departamento, nombre_provincia,nombre_distrito, inf3312)
c600_6.4_c600 <- c600 %>% select(id_unidad_policial, nombre_unidadp ,TIPO_COMI,REGION_POL ,nombre_departamento, nombre_provincia,nombre_distrito, inf610a)
# entonces
c600_6.4_global <- c600_6.4_c300 %>% select(id_unidad_policial, nombre_unidadp , TIPO_COMI ,REGION_POL ,nombre_departamento, nombre_provincia,nombre_distrito, inf3312) %>%
inner_join(c600_6.4_c600, by =c('id_unidad_policial')) %>%
select(id_unidad_policial, nombre_unidadp.x ,TIPO_COMI.x ,REGION_POL.x,nombre_departamento.x, nombre_provincia.x,nombre_distrito.x, inf610a, inf3312)
# para recodificar
c600_6.4_global$inf610a <- recode(c600_6.4_global$inf610a, "2=0")
# finalmente
c600_6.4_global <- c600_6.4_global %>%
mutate(val_SIPCOP = if_else(inf610a == inf3312 , 0, 1)) %>%
mutate(id_reglas = 6.4)
kable(c600_6.4_global %>% filter(val_SIPCOP ==1 & inf610a ==1) %>% head(10), format ="simple", caption = "Top 10 de los resultados de regla 6.4" )
Top 10 de los resultados de regla 6.4
| 1266 |
CPNP HUAMACHUCO |
A |
LA LIBERTAD |
LA LIBERTAD |
SANCHEZ CARRION |
HUAMACHUCO |
1 |
0 |
1 |
6.4 |
| 1085 |
CPNP AYACUCHO |
A |
LA LIBERTAD |
LA LIBERTAD |
TRUJILLO |
TRUJILLO |
1 |
0 |
1 |
6.4 |
| 1995 |
CPNP ALFONSO UGARTE |
A |
LIMA |
LIMA |
LIMA |
LIMA |
1 |
0 |
1 |
6.4 |
| 7500 |
CPNP HUANTA |
A |
VRAEM |
AYACUCHO |
HUANTA |
HUANTA |
1 |
0 |
1 |
6.4 |
| 5006 |
CPNP SAN JOSE |
B |
CAJAMARCA |
CAJAMARCA |
CAJAMARCA |
CAJAMARCA |
1 |
0 |
1 |
6.4 |
| 3480 |
CPNP TAHUANTINSUYO |
B |
CUSCO |
CUSCO |
CUSCO |
CUSCO |
1 |
0 |
1 |
6.4 |
| 4068 |
CPNP PALACIO VIEJO |
A |
AREQUIPA |
AREQUIPA |
AREQUIPA |
AREQUIPA |
1 |
0 |
1 |
6.4 |
| 5411 |
CPNP VILLA AMPAY |
C |
APURIMAC |
APURIMAC |
ABANCAY |
ABANCAY |
1 |
0 |
1 |
6.4 |
| 7825 |
CPNP CHUPACA |
A |
JUNIN |
JUNIN |
CHUPACA |
CHUPACA |
1 |
0 |
1 |
6.4 |
| 4532 |
CPNP SANTA BARBARA |
B |
PUNO |
PUNO |
SAN ROMAN |
JULIACA |
1 |
0 |
1 |
6.4 |
6.5: Contrastar la cantidad de vehiculos monitoreados por SIPCOP (preg 610B y 610C) vs la cantidad de vehiculos operativos (preg 339)
c600_6.5_c600 <- c600 %>% select(id_unidad_policial, nombre_unidadp, TIPO_COMI, REGION_POL, nombre_departamento, nombre_provincia,nombre_distrito,inf610c1,inf610c2,inf610c3)
c600_6.5_c300 <- c300 %>% select(id_unidad_policial, nombre_unidadp, TIPO_COMI, REGION_POL, nombre_departamento, nombre_provincia,nombre_distrito, inf33911,inf33921,inf33931,inf33941, inf33951 )
# entonces
c600_6.5 <- c600_6.5_c600 %>% select(id_unidad_policial, nombre_unidadp , TIPO_COMI, REGION_POL, nombre_departamento, nombre_provincia,nombre_distrito,inf610c1,inf610c2,inf610c3) %>%
inner_join(c600_6.5_c300, by=c('id_unidad_policial')) %>%
select(id_unidad_policial, nombre_unidadp.x , TIPO_COMI.x, REGION_POL.x, nombre_departamento.x, nombre_provincia.x,nombre_distrito.x, inf610c1,inf610c2,inf610c3,
inf33911,inf33921,inf33931,inf33941, inf33951 )
# transformado todas las variables el NULL por NA
c600_6.5[c600_6.5=="NULL"] <- '0'
# transformando a numerico las variables categoricas, debido a que se necesitan hacer operaciones matematicas
c600_6.5_str <- c600_6.5 %>% select_if(is.character) %>% colnames()
c600_6.5[,8:14] = data.frame(apply(c600_6.5[,8:14], 2, as.numeric))
# luego, analizar:
c600_6.5_global <- c600_6.5 %>%
mutate(val_autos = if_else(inf610c1 > inf33911, 1, 0),
val_camionetas = if_else(inf610c2 > (inf33921+inf33931+inf33941),1, 0), # no se usa c_acroos pq por el momento no se usa rowwise
val_motos = if_else(inf610c3 > inf33951, 1, 0)) %>%
mutate(id_reglas = 6.5)
kable(c600_6.5_global %>% filter(val_autos ==1 & val_camionetas ==1 | val_motos ==1) %>% head(10), format ="simple", caption = "Top 10 de los resultados de regla 6.5" )
Top 10 de los resultados de regla 6.5
| 3663 |
CPNP PUERTO MALDONADO |
B |
MADRE DE DIOS |
MADRE DE DIOS |
TAMBOPATA |
TAMBOPATA |
0 |
1 |
2 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
6.5 |
| 2010 |
CPNP UNIDAD VECINAL 3 B |
B |
LIMA |
LIMA |
LIMA |
LIMA |
6 |
1 |
7 |
6 |
0 |
1 |
1 |
5 |
0 |
0 |
1 |
6.5 |
| 3480 |
CPNP TAHUANTINSUYO |
B |
CUSCO |
CUSCO |
CUSCO |
CUSCO |
0 |
5 |
5 |
0 |
0 |
1 |
4 |
4 |
0 |
0 |
1 |
6.5 |
| 1098 |
CPNP MOCHE |
B |
LA LIBERTAD |
LA LIBERTAD |
TRUJILLO |
MOCHE |
0 |
2 |
2 |
0 |
0 |
0 |
2 |
1 |
0 |
0 |
1 |
6.5 |
| 2060 |
CPNP SAN PEDRO |
B |
LIMA |
LIMA |
LIMA |
EL AGUSTINO |
3 |
1 |
2 |
3 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
6.5 |
| 1951 |
CPNP CHACRA COLORADA |
B |
LIMA |
LIMA |
LIMA |
BREÑA |
6 |
4 |
4 |
0 |
0 |
1 |
0 |
6 |
1 |
1 |
0 |
6.5 |
| 1917 |
CPNP EL RIMAC |
A |
LIMA |
LIMA |
LIMA |
RIMAC |
7 |
1 |
3 |
0 |
0 |
0 |
0 |
7 |
1 |
1 |
0 |
6.5 |
| 1920 |
CPNP SAN MARTIN DE PORRAS |
A |
LIMA |
LIMA |
LIMA |
SAN MARTIN DE PORRES |
7 |
4 |
7 |
7 |
0 |
1 |
3 |
4 |
0 |
0 |
1 |
6.5 |
| 7650 |
CPNP SAN ANTONIO DE JICAMARCA |
B |
LIMA |
LIMA |
LIMA |
SAN JUAN DE LURIGANCHO |
3 |
3 |
3 |
3 |
0 |
3 |
2 |
2 |
0 |
0 |
1 |
6.5 |
| 1800 |
CPNP DE PRO |
A |
LIMA |
LIMA |
LIMA |
LOS OLIVOS |
8 |
4 |
7 |
6 |
0 |
2 |
0 |
8 |
1 |
1 |
0 |
6.5 |
6.6: Contrastar las comisarias que realizan patrullaje integrado (preg 617) vs las comisarias que NO realizan patrullaje (preg 610)
c600_6.6 <- c600 %>%
select(id_unidad_policial, nombre_unidadp, TIPO_COMI, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito,
inf610, inf617)
c600_6.6[c600_6.6 == "NULL"] <- '0'
# recodificando
c600_6.6$inf617 <- recode(c600_6.6$inf617, "2=0")
c600_6.6$inf610 <- recode(c600_6.6$inf610, "2=0")
# entonces
c600_6.6_global <- c600_6.6 %>%
mutate(val_patrullaje = if_else(inf610== 0 & inf617 == 1, 1, 0)) %>%
mutate(id_reglas = 6.6)
kable(c600_6.6_global %>% filter(val_patrullaje ==1) %>% head(10), format ="simple", caption = "Top 10 de los resultados de regla 6.6" )
Top 10 de los resultados de regla 6.6
| 4933 |
CPNP TAMBO REAL NUEVO |
D |
ANCASH |
ANCASH |
SANTA |
CHIMBOTE |
0 |
1 |
1 |
6.6 |
| 645 |
CPNP LOS ALGARROBOS |
B |
PIURA |
PIURA |
PIURA |
PIURA |
0 |
1 |
1 |
6.6 |
| 653 |
CPNP YAPATERA |
D |
PIURA |
PIURA |
MORROPON |
CHULUCANAS |
0 |
1 |
1 |
6.6 |
| 5141 |
CPNP HUALGAYOC |
D |
CAJAMARCA |
CAJAMARCA |
HUALGAYOC |
HUALGAYOC |
0 |
1 |
1 |
6.6 |
| 7572 |
CPNP KITENI |
C |
VRAEM |
CUSCO |
LA CONVENCION |
ECHARATE |
0 |
1 |
1 |
6.6 |
| 3105 |
CPNP SAN RAMON |
B |
JUNIN |
JUNIN |
CHANCHAMAYO |
SAN RAMON |
0 |
1 |
1 |
6.6 |
| 4645 |
CPNP DESAGUADERO |
B |
PUNO |
PUNO |
CHUCUITO |
DESAGUADERO |
0 |
1 |
1 |
6.6 |
6.7: Contrastar si la comisaria tiene SEINPOL (preg 645A) vs cantidad de policias según rol de servicio de la preg 140- 145
c600_6.7 <- c600 %>%
select(id_unidad_policial, nombre_unidadp, TIPO_COMI, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito,
inf645a, inf645b )
# recodificando
c600_6.7[c600_6.7 == "NULL"] <- '0'
c600_6.7$inf645b <- as.numeric(c600_6.7$inf645b)
# analizando como filas con rowwise
c100_row <- c100 %>% rowwise(id_unidad_policial, nombre_unidadp, TIPO_COMI, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito)
# luego trayendo info de roles de servicio del cap 100
c600_6.7_c100 <- c100_row %>%
select(id_unidad_policial, nombre_unidadp, TIPO_COMI, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito,
inf140oah:inf145tot) %>%
mutate(tot_140 = sum(c_across(inf140oah:inf140orsm)),
tot_141 = sum(c_across(inf141oah:inf141orsm)),
tot_142 = sum(c_across(inf142oah:inf142orsm)),
# tot_143 = sum(c_across(inf143oah:inf143orsm)),
tot_144 = sum(c_across(inf144oah:inf144orsm))
#tot_145 = sum(c_across(inf145oah:inf145orsm)),
) %>%
mutate(val_140 = if_else(tot_140==inf140tot,0,1),
val_141 = if_else(tot_141==inf141tot,0,1),
val_142 = if_else(tot_142==inf142tot,0,1),
val_144 = if_else(tot_144==inf144tot,0,1)) %>%
select(id_unidad_policial, nombre_unidadp, TIPO_COMI, REGION_POL, nombre_departamento, nombre_provincia, nombre_distrito,
contains('tot_'), contains('tot'), contains('val_')) %>%
mutate(tot_140_144 = sum(c_across(tot_140:tot_144)) )
# entonces, uniendo todo
c600_6.7_global <- c600_6.7 %>%
inner_join(c600_6.7_c100, by = c('id_unidad_policial')) %>%
mutate(val_globa = if_else(tot_140_144 >= inf645b, 0, 1)) %>%
select(id_unidad_policial, nombre_unidadp.x, TIPO_COMI.x, REGION_POL.x, nombre_departamento.x, nombre_provincia.x, nombre_distrito.x, inf645b,
# contains('tot_' ), contains('val') )
tot_140_144, val_globa) %>%
mutate(id_reglas = 6.7)
kable(c600_6.7_global %>% filter(val_globa ==1) %>% head(10), format ="simple", caption = "Top 10 de los resultados de regla 6.7" )
Top 10 de los resultados de regla 6.7
| 1236 |
CPNP CHEPEN |
B |
LA LIBERTAD |
LA LIBERTAD |
CHEPEN |
CHEPEN |
10 |
8 |
1 |
6.7 |
| 7825 |
CPNP CHUPACA |
A |
JUNIN |
JUNIN |
CHUPACA |
CHUPACA |
36 |
34 |
1 |
6.7 |
| 7590 |
CPNP SATIPO |
B |
JUNIN |
JUNIN |
SATIPO |
SATIPO |
22 |
19 |
1 |
6.7 |
| 4890 |
CPNP ALTO PERU |
A |
ANCASH |
ANCASH |
SANTA |
CHIMBOTE |
22 |
21 |
1 |
6.7 |
| 4801 |
CPNP HUARAZ |
A |
ANCASH |
ANCASH |
HUARAZ |
HUARAZ |
17 |
16 |
1 |
6.7 |
| 4512 |
CPNP HUASCAR |
D |
PUNO |
PUNO |
PUNO |
PUNO |
8 |
6 |
1 |
6.7 |
| 4525 |
CPNP JULIACA |
A |
PUNO |
PUNO |
SAN ROMAN |
JULIACA |
20 |
13 |
1 |
6.7 |
| 1410 |
CPNP CHACHAPOYAS |
A |
AMAZONAS |
AMAZONAS |
CHACHAPOYAS |
CHACHAPOYAS |
7 |
6 |
1 |
6.7 |
| 5900 |
CPNP HUANUCO |
A |
HUANUCO |
HUANUCO |
HUANUCO |
HUANUCO |
11 |
6 |
1 |
6.7 |
| 7013 |
CPNP VENENILLO |
D |
HUANUCO |
HUANUCO |
LEONCIO PRADO |
RUPA-RUPA |
6 |
3 |
1 |
6.7 |