El Instituto Nacional de Estadística, en su función de planificar, dirigir y supervisar las estadísticas oficiales y la informática del país, mediante censos y encuestas, genera información clave en materia demográfica, social y económica; produce datos fundamentales para la toma de decisiones. En este esfuerzo, una de las encuestas que realiza a lo largo del año es la Encuesta Nacional de Programas Presupuestales (ENAPRES), que tiene como fin el generar información estadística actualizada para la construcción de indicadores que faciliten el seguimiento y evaluación de los diferentes Programas Presupuestales desarrollados por el Ministerio de Economía y Finanzas en el sector público en el marco del Presupuesto por Resultados.
En el presente trabajo se evalúa el capítulo 600 de la ENAPRES, que recolecta información relacionada con la seguridad ciudadana. Mediante una serie de preguntas se explora acerca de la victimización que informa la población, así como la percepción de inseguridad y la confianza en las instituciones encargadas de la seguridad ciudadana. La muestra consiste en personas que residan en zonas urbanas del país, mayores de 14 años, pero los indicadores se construyen a partir de personas de 15 años o más.
Para asegurar que el análisis refleje la realidad de la seguridad ciudadana en el entorno urbano, el primer paso consistió en la depuración de la base de datos.
De todas las preguntas que tiene la ENAPRES, aislamos únicamente los módulos relevantes para el analisis:
No todas las encuestas son válidas para este análisis. Aplicamos un filtro de calidad para quedarnos solo con la población objetivo.
Finalmente, transformamos los códigos numéricos a categorías para el análisis:
Para complementar la preparación de los datos, se realizó un proceso de codifcación que transformó los códigos técnicos en indicadores. Se crearon categorías claras para la ubicación geográfica y el sexo, se generaron índices binarios para medir la victimización y la inseguridad, y se calculó la tasa de denuncia específicamente para quienes sufrieron delitos. Finalmente, se limpiaron las escalas de percepción institucional y se tradujeron las razones de inseguridad en el barrio a nombres descriptivos.
# Cargamos las librerias necesarias
library(haven)
library(dplyr)
library(stringr)
library(ggplot2)
library(tidyr)
library(ggthemes)
library(scales)
data = read_sav("CAP_600_ANUAL_7.sav")
library(dplyr)
data = data %>% select(
#variables para el filtro
AREA,
RESFIN,
P204,
P205,
P206,
P208_A,
P600B_A,
P600B_C,
#victimizacion
P615_1,
P615_2,
P615_3,
P615_4,
P615_5,
P615_6,
P615_7,
P615_8,
P615_9,
P615_10,
P615_14,
P615_15,
P615_16,
P615_17,
P615_18,
P615_19,
P615_20,
P615_21,
P615_23,
P615_25,
P615_26,
P615_27,
P615_28,
P615_12,
P615_22,
#Denuncia
P619_1,
P619_2,
P619_3,
P619_4,
P619_5,
P619_6,
P619_7,
P619_8,
P619_9,
P619_10,
P619_11,
P619_12,
P619_14,
P619_15,
P619_16,
P619_17,
P619_18,
P619_19,
P619_20,
P619_21,
P619_23,
P619_24,
P619_25,
P619_26,
P619_27,
P619_28,
#Inseguridad
P601_1,
P601_2,
P601_3,
P601_4,
P601_5,
P601_6,
P601_7,
P601_8,
P601_9,
P601_10,
P601_11,
P601_12,
P601_13,
P601_14,
P601_15,
P601_16,
#Razones inseguridad
P603_1,
P603_2,
P603_3,
P603_4,
P603_5,
P603_6,
P603_7,
P603_8,
P603_9,
P603_10,
P603_11,
P603_12,
#Confianza en instituciones
P608_1,
P608_2,
P608_3,
P608_4,
#percepcion corrupcion en instituciones
P610_1,
P610_2,
P610_3,
P610_4,
#Ubicacion geografica
AREA,
NOMBREDD,
REGIONNATU,
#Factor
FACTOR,
FACTOR_CAP600B,
#Sexo
P207
) %>% mutate(
# 1. Para las columnas que son "Labelled" y NUMÉRICAS (ej. P204, P615, Edad)
# Les quitamos la etiqueta y las dejamos como número puro.
across(where( ~ is.labelled(.) && is.numeric(.)), as.numeric),
# 2. Para las columnas que son "Labelled" y TEXTO (ej. REGIONNATU, NOMBREDD)
# Les quitamos la etiqueta y las dejamos como texto puro (character).
across(where( ~ is.labelled(.) &&
is.character(.)), as.character)
) %>%
mutate(
# RESID: Definición de Residente Habitual
# Condición: (Miembro presente) O (No miembro original pero presente > 6 meses)
RESID = (P204 == 1 & P205 == 2) | (P204 == 2 & P206 == 1),
# DIREC: Entrevista Directa
DIREC = (P600B_A == P600B_C),
# CODPERSO: Identificador de la persona
CODPERSO = P600B_A
) %>%
#Filtramos Población objetivo
filter(
AREA == 1 ,
# Solo Área Urbana
RESFIN %in% c(1, 2),
# Encuestas Completas (1) o Incompletas (2)
RESID == TRUE,
# Solo Residentes Habituales
P208_A >= 15 &
P208_A <= 98,
DIREC == TRUE # Solo si la persona respondió su propia encuesta
)
#Creamos las variables categoricas
library(stringr)
data = data %>% mutate(
NOMBREDD = str_to_title(NOMBREDD),
Region_natural = case_when(
REGIONNATU == 1 ~ "Costa",
REGIONNATU == 2 ~ "Sierra",
REGIONNATU == 3 ~ "Selva",
TRUE ~ as.character(REGIONNATU)
),
Sexo = case_when(P207 == 1 ~ "Hombre", P207 == 2 ~ "Mujer")
)
#Creamos las variables categoricas
library(stringr)
data = data %>% mutate(
NOMBREDD = str_to_title(NOMBREDD),
Region_natural = case_when(
REGIONNATU == 1 ~ "Costa",
REGIONNATU == 2 ~ "Sierra",
REGIONNATU == 3 ~ "Selva",
TRUE ~ as.character(REGIONNATU)
),
Sexo = case_when(P207 == 1 ~ "Hombre", P207 == 2 ~ "Mujer")
)
#Creamos los indicadores
data = data %>% mutate(
#Indice de Victimizacion:
VICTIMIZACION = if_else(if_any(starts_with("P615_"), ~ . == 1), 1, 0),
#Indice de Percepción de Inseguridad
INSEGURIDAD = if_else(if_any(starts_with("P601_"), ~ . == 1), 1, 0)
)
#Calculo de victimas de algun hecho delictivo que denunciaron
data = data %>%
mutate(
# Paso 1: Calculamos si denunció al menos un hecho (1 = Sí, 0 = No)
DENUNCIA_CONCRETA = if_else(rowSums(select(
., starts_with("P619_")
) == 1, na.rm = TRUE) > 0, 1, 0),
# Ahora combinamos: Si no fue víctima, es NA. Si fue víctima, usamos el 0 o 1 calculado
# Asignamos "Denunció/No Denunció" a quienes realmente fueron víctimas.
DENUNCIA_FINAL = if_else(VICTIMIZACION == 1, DENUNCIA_CONCRETA, NA_real_)
)
#Limpieza de la variables de confianza intitucional y percepción de corrupción
library(dplyr)
data <- data %>%
mutate(
# --- 1. NIVEL DE CONFIANZA EN LA PNP (Variable P608_1) ---
# Escala original: 1=Nada ... 4=Bastante
# Limpieza: Convertimos el 5 (No Sabe) en NA para no malograr el análisis
NIVEL_CONFIANZA_PNP = if_else(P608_1 == 5, NA_real_, as.numeric(P608_1)),
# --- 2. NIVEL DE CORRUPCIÓN EN LA PNP (Variable P610_1) ---
# Escala original: 1=Nada ... 4=Muy Corrupto
# Como confirmaste que no hay código 5, tomamos el número directo.
NIVEL_CORRUPCION_PNP = as.numeric(P610_1)
)
#Principales razones por la cual te sientes inseguro
data = data %>%
rename(
# Estructura: P603_X = "Razón de Inseguridad"
# 1. Institucional / Vigilancia
RAZON_POCA_PRESCENCIA_POLICIA = P603_1, # Poca presencia policial
RAZON_POCA_PRESCENCIA_DE_SERENAZGO = P603_2, # Poca presencia de serenazgo
# 2. Entorno Social / Delictivo
RAZON_PRESENCENCIAS_DE_PERSONAS_SOSPECHOSAS = P603_3, # Presencia de personas sospechosas
RAZON_PRESCENCIA_DE_PANDILLEROS = P603_4, # Presencia de pandilleros
RAZON_PRESCENCIA_DE_DELINCUENTES = P603_5, # Presencia de delincuentes (robos, asaltos)
# 3. Vicios sociales
RAZON_CONSUMO_DE_DROGAS = P603_6, # Consumo de drogas
RAZON_VENTA_DE_DROGAS = P603_7, # Venta de drogas (microcomercialización)
RAZON_VENTA_DE_BEBIDAS_ALCOHOLICAS = P603_8, # Venta/Consumo de bebidas alcohólicas en calle
# 4. Infraestructura y Comunidad
RAZON_DESORGANIZACIÓN_VECINAL = P603_9, # Falta de organización de los vecinos
RAZON_POCA_ILUMINACION_PUBLICA = P603_10, # Poca iluminación pública
RAZON_EXISTEN_CASAS_Y_TERRENOS_ABANDONADOS = P603_11,
# 5. Otros (Si existe en tu base)
RAZON_OTRO = P603_12
)
# Se utiliza un gráfico de mancuernas para observar la diferencia entre percepcion de Inseguridad y victimizacion por region
INS_VIC <- data %>%
#
# Filtramos los NAs
filter(!is.na(VICTIMIZACION),
!is.na(INSEGURIDAD),
!is.na(FACTOR_CAP600B)) %>%
group_by(NOMBREDD) %>%
summarise(
mean_victimizacion = weighted.mean(VICTIMIZACION, w = FACTOR_CAP600B) * 100,
mean_inseguridad = weighted.mean(INSEGURIDAD, w = FACTOR_CAP600B) * 100
) %>%
ungroup() %>%
mutate(NOMBREDD = reorder(NOMBREDD, mean_inseguridad)) %>% # Ordenar por percepción
# Construcción del Gráfico
ggplot() +
# Linea que representa la diferencia entre ambas variables
geom_segment(
aes(
y = NOMBREDD,
yend = NOMBREDD,
x = mean_victimizacion,
xend = mean_inseguridad
),
color = "#E7E7E7",
linewidth = 1.5,
alpha = 0.8
) +
# Puntos que representan cada vraibles
geom_point(aes(x = mean_victimizacion, y = NOMBREDD),
color = "#C72E29",
size = 3) +
geom_point(aes(x = mean_inseguridad, y = NOMBREDD),
color = "#FB832D",
size = 3) +
# C. Etiquetas
geom_text(
aes(
x = mean_victimizacion,
y = NOMBREDD,
label = round(mean_victimizacion, 1)
),
color = "#C72E29",
hjust = 1.4,
size = 3,
fontface = "bold"
) +
geom_text(
aes(
x = mean_inseguridad,
y = NOMBREDD,
label = round(mean_inseguridad, 1)
),
color = "#FB832D",
hjust = -0.4,
size = 3,
fontface = "bold"
) +
# Integramos la leyenda dentro del grafico
geom_text(
aes(x = mean_victimizacion, y = NOMBREDD, label = "Victimización"),
data = . %>% filter(mean_inseguridad == max(mean_inseguridad)),
color = "#C72E29",
vjust = -1.5,
fontface = "bold",
size = 3
) +
geom_text(
aes(x = mean_inseguridad, y = NOMBREDD, label = "Percepción"),
data = . %>% filter(mean_inseguridad == max(mean_inseguridad)),
color = "#FB832D",
vjust = -1.5,
fontface = "bold",
size = 3
) +
# Titulos, subtitulos y notas
labs(title = "Victimizacion vs. Percepción",
subtitle = "Comparativa entre tasa de victimización y percepción de inseguridad",
caption = "Nota. Elaboración propia a partir de ENAPRES.") +
theme_clean() +
scale_x_continuous(labels = scales::percent_format(scale = 1),
expand = expansion(mult = c(0.15, 0.15))) +
coord_cartesian(clip = "off") +
theme(
axis.title = element_blank(),
axis.text.y = element_text(color = "#333333", face = "bold"),
panel.grid.major.y = element_blank(),
plot.margin = margin(
t = 30,
r = 10,
b = 10,
l = 10
)
)
# Imprimir el gráfico
INS_VIC
En el gráfico se muestra una diferencia grande entre la percepción de la población y el porcentaje de victimización En la totalidad de las regiones del Perú, la inseguridad superó a la victimización, lo que sugiere que el miedo al delito no responde solo a experiencias directas con el crimen, sino a otros factores.
La región que tiene el nivel de inseguridad más alto es Ucayali; sin embargo, al mismo tiempo, el porcentaje de victimización es mucho más bajo que regiones como Junín o Moquegua. En estas regiones la victimización es bastante menor.
Por otro lado, tenemos a Ancash, que es la región donde el nivel de inseguridad es menor, a pesar de que su nivel de victimización es solo 3% menor que Ucayali. Además, es la región con la menor brecha entre ambos indicadores. Se puede observar que para enfrentar la inseguridad no solo basta una reducción de la criminalidad, sino que también se tiene que enfocar en la percepción del ciudadano, que es importante para la confianza social y el diseño de políticas públicas efectivas.
# 1. PREPARACIÓN DE DATOS AGREGADOS
Inseguridad_en_barrio <- data %>%
filter(!is.na(FACTOR_CAP600B)) %>%
group_by(Region_natural) %>%
# Calculamos el % de incidencia para cada razón (RAZON_*) usando el factor de expansión
summarise(across(
starts_with("RAZON_"),
~ weighted.mean(. == 1, w = FACTOR_CAP600B, na.rm = TRUE) * 100
)) %>%
ungroup() %>%
# Transformación a Formato Largo
pivot_longer(cols = starts_with("RAZON_"),
names_to = "Nombre_Columna",
values_to = "Porcentaje") %>%
# Limpieza de Etiquetas
mutate(
Motivo = Nombre_Columna %>%
str_remove("RAZON_") %>%
str_replace_all("_", " ") %>% # Reemplazar guiones por espacios
str_to_sentence() # Formato oración (Mayúscula inicial)
)
Inseguridad_Plot <- ggplot(Inseguridad_en_barrio,
aes(
x = reorder(Motivo, Porcentaje),
y = Porcentaje,
fill = Region_natural
)) +
# Barras
geom_col(show.legend = FALSE, width = 0.7) +
# Dividimos el gráfico por Región Natural (3 columnas)
facet_wrap( ~ Region_natural, ncol = 3) +
# Giramos el grafico
coord_flip() +
# Etiquetas de datos
geom_text(
aes(label = round(Porcentaje, 1)),
hjust = -0.2,
size = 3,
fontface = "bold",
color = "#444444"
) +
# Colores Semánticos (Paleta Cálida/Tierra)
scale_fill_manual(values = c(
"Costa" = "#E48312",
"Selva" = "#80C34F",
"Sierra" = "#865640"
)) +
# Ajuste de Escalas
scale_y_continuous(
labels = scales::percent_format(scale = 1),
expand = expansion(mult = c(0, 0.3))
) +
# Temas, Titulos, subtitulos y Notas
labs(
title = "¿Por qué nos sentimos inseguros?",
subtitle = "Principales motivos de percepción de inseguridad según región natural",
x = "",
y = "",
caption = "Nota. Elaboración propia a partir de ENAPRES."
) +
theme_clean() +
theme(
panel.grid.major.y = element_blank(),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
plot.subtitle = element_text(size = 10, color = "grey40")
)
# Imprimir gráfico
Inseguridad_Plot
El gráfico muestra que la principal razón de sensación de inseguridad en
las 3 regiones naturales del Perú es la presencia de delincuentes en su
zona o barrio, lo que sugiere que el miedo está fuertemente asociado a
la observación del delito, más que a experiencias directas de
victimización.
Asimismo, la falta de presencia policial ocupa el segundo puesto en todas las regiones, lo que indica una percepción de ausencia del Estado por parte de la población En este mismo tenor tenemos la poca iluminación pública, que es un tema del que se encarga el Estado y que preocupa más en la sierra y selva del Perú que en la costa.
Si bien en la Costa y la Sierra la percepción de inseguridad se concentra principalmente en la presencia de delincuentes y en la limitada acción policial, en la Selva se observa una preocupación particular por el consumo y la venta de drogas, cuyos niveles superan claramente a los registrados en las otras regiones.
# Visualizar la relación entre la percepción de corrupción policial y la confianza. Se utiliza un gráfico de burbujas ponderado porque, al ser variables discretas (1-4), un scatter plot normal ocultaría la densidad de respuestas superpuestas.
SP <- data %>%
# Filtramos los NA
filter(!is.na(NIVEL_CORRUPCION_PNP), !is.na(NIVEL_CONFIANZA_PNP)) %>%
# Graficamos
ggplot(aes(x = NIVEL_CORRUPCION_PNP, y = NIVEL_CONFIANZA_PNP)) +
#
# Usamos el Factor de Expansión para representar población.
geom_count(aes(weight = FACTOR_CAP600B, color = ..n..), alpha = 0.8) +
# B. Escalas de Ejes (Likert 1-4)
scale_x_continuous(
breaks = 1:4,
labels = c(
"1. Nada corrupto",
"2. Poco corrupto",
"3. Corrupto",
"4. Muy corrupto"
)
) +
scale_y_continuous(
breaks = 1:4,
labels = c("1. Ninguna", "2. Poca", "3. Suficiente", "4. Bastante")
) +
# scale_size_area asegura que el área sea proporcional a la cantidad (0 = tamaño 0)
scale_size_area(
max_size = 14,
name = "Población Representada",
labels = scales::label_number(scale = 1e-6, suffix = " M")
) +
scale_color_viridis_c(option = "magma",
direction = -1,
guide = "none") +
# Temas, titulos, subitulos, leyenda
labs(
title = "Crisis de Legitimidad: Corrupción vs. Confianza Policial",
subtitle = "Concentración de la opinión pública respecto a la PNP (Nivel Nacional)",
x = "Percepción de Corrupción",
y = "Nivel de Confianza Institucional",
caption = "Nota. Elaboración propia a partir de ENAPRES. Tamaño de burbuja ponderado por factor poblacional."
) +
theme_clean() +
theme(
axis.text = element_text(
size = 9,
face = "bold",
color = "#333333"
),
legend.position = "right",
legend.title = element_text(size = 9, face = "bold")
)
SP
Este gráfico muestra la relación entre la confianza que tiene la población respecto a la Policía Nacional del Perú y la percepción de qué tan corrupta es, un círculo más grande significa mayor concentración de opinión. Se observa una fuerte concentración de la opinión pública en niveles bajos de confianza hacia la Policía Nacional del Perú, asociada principalmente a percepciones de corrupción moderada y alta.
La mayor parte de la población se ubica en el cruce entre «corrupto» y «poca confianza», lo que sugiere que la población que considera que la PNP es corrupta también desconfía de la institución, mostrando una relación negativa entre ambas variables. Mientras más aumenta la percepción de corrupción, la confianza se deteriora. Asimismo, se observa una segunda concentración relevante en el grupo que percibe a la institución como poco corrupta y manifiesta poca confianza en ella, lo que sugiere que la desconfianza institucional no se explica únicamente por percepciones extremas de corrupción.
La percepción de corrupción que se tiene de la PNP no es muy negativa, aun así, la confianza no tiene niveles positivos. Esto sugiere que la crisis de legitimidad de la policía tiene más que ver con problemas de desempeño, cercanía y credibilidad.
#Contrastar la tasa de denuncia vs. la no denuncia por departamento. Se utiliza un gráfico de barras divergentes.
# 1. PREPARACIÓN DE DATOS
df_cifra_negra <- data %>%
# Filtros para las variables perdidas
filter(!is.na(FACTOR_CAP600B), !is.na(DENUNCIA_FINAL)) %>%
# A. Cálculo de porcentajes
group_by(NOMBREDD) %>%
summarise(
Si_denunciaron = weighted.mean(DENUNCIA_FINAL == 1, w = FACTOR_CAP600B) * 100,
No_denunciaron = weighted.mean(DENUNCIA_FINAL == 0, w = FACTOR_CAP600B) * 100
) %>%
ungroup() %>%
# transformación
mutate(
# Convertimos la no denuncia a negativo para que la barra crezca a la izquierda
No_denunciaron_Neg = -No_denunciaron,
# Ordenamos los departamentos según el porcentaje de Cifra Negra
NOMBREDD = reorder(NOMBREDD, No_denunciaron_Neg)
) %>%
# Se adapta para formato largo
pivot_longer(
cols = c("Si_denunciaron", "No_denunciaron_Neg"),
names_to = "Tipo",
values_to = "Valor"
) %>%
mutate(Etiqueta = if_else(Tipo == "Si_denunciaron", "Denunciaron", "No denunciaron"))
# Grafico
Cifra_negra_Plot <- ggplot(df_cifra_negra, aes(x = NOMBREDD, y = Valor, fill = Etiqueta)) +
# Barras
geom_col(width = 0.75) +
# Usamos abs() para que el texto diga "80%" y no "-80%"
geom_text(
aes(
label = paste0(round(abs(Valor), 1), "%"),
hjust = if_else(Valor < 0, 1.1, -0.1)
),
size = 3,
fontface = "bold",
color = "#444444"
) +
# Girar gráfico
coord_flip() +
#Le asignamos colores a cada categoria
scale_fill_manual(values = c(
"No denunciaron" = "#C0392B",
"Denunciaron" = "#27AE60"
)) +
# Ajuste del Eje Y (Simetría y Formato)
scale_y_continuous(
# Función personalizada para mostrar valor absoluto + "%" en el eje
labels = function(x)
paste0(abs(x), "%"),
limits = c(-100, 100)
) +
# Textos y Temas
labs(
title = "La Cifra Negra",
subtitle = "Comparativa: Víctimas que callaron (Izq) vs. Víctimas que denunciaron (Der)",
x = "",
y = "Porcentaje de Víctimas",
fill = "",
caption = "Nota. Elaboración propia a partir de ENAPRES."
) +
theme_clean() +
theme(legend.position = "top", panel.grid.major.y = element_blank())
# Imprimir gráfico
Cifra_negra_Plot
Se observa que la mayoría de las víctimas de algún hecho delictivo no denuncia el delito. La cifra negra, entendida como el subregistro de delitos denunciados, es elevada en todas las regiones del país: en ninguna de ellas el porcentaje de denuncias supera el 20%. En consecuencia, una gran proporción de los delitos cometidos no llega a conocimiento de las autoridades.
Las diferencias regionales se presentan dentro de un patrón generalizado de no denuncia. Regiones como Lambayeque y Amazonas muestran los niveles relativamente más altos de denuncia; sin embargo, incluso en estos casos, solo cerca de dos de cada diez víctimas reportan el delito. En contraste, regiones como Cusco, Ucayali y Huancavelica registran niveles de no denuncia superiores al 90%, lo que evidencia una marcada invisibilidad del delito.
Asimismo, se identifica que gran parte de los departamentos del sur del Perú concentran las cifras negras más elevadas, lo que podría estar asociado a factores como la desconfianza en las autoridades, o la ausencia del Estado. Por el contrario, los departamentos de la costa, particularmente del norte, presentan niveles relativamente mayores de denuncia, aunque todavía insuficientes para garantizar una adecuada respuesta del sistema de justicia.
# Objetivo: Determinar si existen diferencias en la percepcion de inseguridad respecto al sexo con un grafico de barras
# Calculamos el promedio ponderado de inseguridad agrupado por sexo
df_inseguridad_sexo <- data %>%
filter(!is.na(FACTOR_CAP600B), !is.na(Sexo), !is.na(INSEGURIDAD)) %>%
group_by(Sexo) %>%
summarise(
mean_inseguridad = weighted.mean(INSEGURIDAD, w = FACTOR_CAP600B, na.rm = TRUE) * 100
)
#Generacion del grafico
Inseguridad_Sexo_Plot <- ggplot(df_inseguridad_sexo, aes(x = Sexo, y = mean_inseguridad, fill = Sexo)) +
# Determinamos el ancho de las barras
geom_col(width = 0.6) +
# Etiquetas de Datos
geom_text(aes(label = paste0(round(mean_inseguridad, 1), "%")),
vjust = -0.5, size = 4, fontface = "bold", color = "#444444") +
# Asignamos varibles a cada sexo
scale_fill_manual(values = c("Hombre" = "#374E55",
"Mujer" = "#6A6599")) +
# Ajuste del Eje Y
scale_y_continuous(
labels = scales::percent_format(scale = 1),
limits = c(0, 100),
expand = expansion(mult = c(0, 0.1))
) +
# Textos y Temas
labs(
title = "Percepción de Inseguridad según Sexo",
subtitle = "Comparativa a nivel nacional urbano",
x = "",
y = "Porcentaje de Población",
fill = "",
caption = "Nota. Elaboración propia a partir de ENAPRES."
) +
theme_clean() +
theme(
legend.position = "none", # No necesitamos leyenda (ya está en el eje X)
axis.text = element_text(size = 12),
panel.grid.major.x = element_blank(),
plot.title = element_text(size = 14, face = "bold")
)
# Imprimir gráfico
Inseguridad_Sexo_Plot
El gráfico muestra que la percepción de inseguridad en el ámbito urbano es elevada y prácticamente homogénea entre hombres y mujeres. Más del 85% de la población urbana, independientemente del sexo, manifiesta sentirse insegura, lo que evidencia que la inseguridad constituye un problema generalizado y transversal.
La diferencia observada entre hombres y mujeres es mínima y no sugiere una brecha significativa en la percepción de inseguridad a nivel nacional urbano. Este resultado indica que el sentimiento de inseguridad no está determinado principalmente por el sexo, sino por factores estructurales que afectan de manera similar a toda la población urbana.
En todas las regiones, la percepción de inseguridad supera ampliamente a la victimización, lo que sugiere que el miedo al delito no se construye únicamente a partir de experiencias directas, sino también de factores sociales e institucionales.
La observación cotidiana de delincuentes, la limitada acción policial y la falta de servicios públicos como la iluminación contribuyen de manera decisiva a la percepción de inseguridad en las distintas regiones del país.
La población concentra su opinión en niveles bajos de confianza hacia la PNP, incluso cuando la percepción de corrupción no es extrema, lo que sugiere que los problemas de desempeño, cercanía y credibilidad institucional son factores clave.
La mayoría de los delitos no se denuncia en ninguna región del país, lo que limita la capacidad del Estado para conocer la magnitud real del delito.
No se observan diferencias significativas por sexo y, aunque existen particularidades regionales, el problema afecta de manera generalizada a la población, lo que exige políticas de seguridad integrales.