df <- read_excel("Datos Violencia intrafamiliar_2023.xlsx") %>%
clean_names()
names(df)
## [1] "arma_o_medio_de_agresion"
## [2] "departamento"
## [3] "municipio"
## [4] "fecha_del_hecho"
## [5] "genero"
## [6] "grupo_edad_de_la_victima"
## [7] "codigo_dane"
## [8] "edad_de_la_victima"
## [9] "cantidad_de_sucesos"
## [10] "numero_de_personas_por_hogar"
## [11] "cantidad_de_habitaciones_por_hogar"
## [12] "estrato_socioeconomico_de_la_victima"
## [13] "nivel_educativo_de_la_victima"
## [14] "inestabilidad_residencial"
## [15] "cantidad_de_establecimientos_con_venta_de_alcohol_cerca_del_hogar"
## [16] "porcentaje_de_riesgo_de_la_victima"
## [17] "porcentaje_de_actividades_comerciales_cerca_del_hogar"
## [18] "indice_de_actividad_policial"
## [19] "porcentaje_de_crimen_cerca_del_hogar"
## [20] "porcentaje_de_participacion_de_mujeres_en_las_decisiones_en_el_hogar"
## [21] "situacion_de_empleo_jefe_a_cabeza_de_hogar"
## [22] "edad_del_victimario"
## [23] "presencia_de_pandillas_juveniles"
## [24] "cantidad_de_pandillas_juveniles"
## [25] "presencia_de_crimen_organizado"
## [26] "indice_de_pobreza"
## [27] "porcentaje_de_migrantes_venezolanos_en_el_sector"
glimpse(df)
## Rows: 190
## Columns: 27
## $ arma_o_medio_de_agresion <chr> "…
## $ departamento <chr> "…
## $ municipio <chr> "…
## $ fecha_del_hecho <dttm> …
## $ genero <chr> "…
## $ grupo_edad_de_la_victima <chr> "…
## $ codigo_dane <dbl> 9…
## $ edad_de_la_victima <dbl> 4…
## $ cantidad_de_sucesos <dbl> 1…
## $ numero_de_personas_por_hogar <dbl> 4…
## $ cantidad_de_habitaciones_por_hogar <dbl> 3…
## $ estrato_socioeconomico_de_la_victima <dbl> 1…
## $ nivel_educativo_de_la_victima <chr> "…
## $ inestabilidad_residencial <chr> "…
## $ cantidad_de_establecimientos_con_venta_de_alcohol_cerca_del_hogar <dbl> 4…
## $ porcentaje_de_riesgo_de_la_victima <dbl> 1…
## $ porcentaje_de_actividades_comerciales_cerca_del_hogar <dbl> 9…
## $ indice_de_actividad_policial <dbl> 2…
## $ porcentaje_de_crimen_cerca_del_hogar <dbl> 3…
## $ porcentaje_de_participacion_de_mujeres_en_las_decisiones_en_el_hogar <dbl> 7…
## $ situacion_de_empleo_jefe_a_cabeza_de_hogar <chr> "…
## $ edad_del_victimario <dbl> 6…
## $ presencia_de_pandillas_juveniles <chr> "…
## $ cantidad_de_pandillas_juveniles <dbl> 5…
## $ presencia_de_crimen_organizado <chr> "…
## $ indice_de_pobreza <dbl> 6…
## $ porcentaje_de_migrantes_venezolanos_en_el_sector <dbl> 6…
skim(df)
| Name | df |
| Number of rows | 190 |
| Number of columns | 27 |
| _______________________ | |
| Column type frequency: | |
| character | 10 |
| numeric | 16 |
| POSIXct | 1 |
| ________________________ | |
| Group variables | None |
Variable type: character
| skim_variable | n_missing | complete_rate | min | max | empty | n_unique | whitespace |
|---|---|---|---|---|---|---|---|
| arma_o_medio_de_agresion | 0 | 1 | 12 | 27 | 0 | 4 | 0 |
| departamento | 0 | 1 | 4 | 18 | 0 | 24 | 0 |
| municipio | 0 | 1 | 4 | 26 | 0 | 74 | 0 |
| genero | 0 | 1 | 8 | 9 | 0 | 2 | 0 |
| grupo_edad_de_la_victima | 0 | 1 | 7 | 12 | 0 | 3 | 0 |
| nivel_educativo_de_la_victima | 0 | 1 | 7 | 19 | 0 | 7 | 0 |
| inestabilidad_residencial | 0 | 1 | 2 | 2 | 0 | 2 | 0 |
| situacion_de_empleo_jefe_a_cabeza_de_hogar | 0 | 1 | 5 | 19 | 0 | 4 | 0 |
| presencia_de_pandillas_juveniles | 0 | 1 | 4 | 5 | 0 | 3 | 0 |
| presencia_de_crimen_organizado | 0 | 1 | 2 | 2 | 0 | 2 | 0 |
Variable type: numeric
| skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|
| codigo_dane | 0 | 1 | 40357163.16 | 30797146.44 | 5.079e+06 | 1.5572e+07 | 25343500.00 | 6.6001e+07 | 9.520e+07 | ▇▂▃▁▃ |
| edad_de_la_victima | 0 | 1 | 34.17 | 14.77 | 7.000e+00 | 2.4000e+01 | 33.00 | 4.5000e+01 | 7.600e+01 | ▃▇▅▂▁ |
| cantidad_de_sucesos | 0 | 1 | 1.48 | 1.32 | 1.000e+00 | 1.0000e+00 | 1.00 | 1.0000e+00 | 1.000e+01 | ▇▁▁▁▁ |
| numero_de_personas_por_hogar | 0 | 1 | 4.94 | 1.67 | 1.000e+00 | 4.0000e+00 | 5.00 | 6.0000e+00 | 1.200e+01 | ▃▇▅▁▁ |
| cantidad_de_habitaciones_por_hogar | 0 | 1 | 2.83 | 0.86 | 1.000e+00 | 2.0000e+00 | 3.00 | 4.0000e+00 | 5.000e+00 | ▁▇▆▅▁ |
| estrato_socioeconomico_de_la_victima | 0 | 1 | 1.93 | 1.15 | 1.000e+00 | 1.0000e+00 | 2.00 | 2.0000e+00 | 6.000e+00 | ▇▁▁▁▁ |
| cantidad_de_establecimientos_con_venta_de_alcohol_cerca_del_hogar | 0 | 1 | 4.06 | 1.89 | 0.000e+00 | 3.0000e+00 | 4.00 | 5.0000e+00 | 1.000e+01 | ▂▇▅▁▁ |
| porcentaje_de_riesgo_de_la_victima | 0 | 1 | 9.62 | 6.15 | 1.130e+00 | 5.5900e+00 | 8.84 | 1.2310e+01 | 4.963e+01 | ▇▅▁▁▁ |
| porcentaje_de_actividades_comerciales_cerca_del_hogar | 0 | 1 | 16.40 | 8.99 | 1.420e+00 | 8.8800e+00 | 17.55 | 2.3270e+01 | 3.665e+01 | ▇▇▇▇▂ |
| indice_de_actividad_policial | 0 | 1 | 19.18 | 7.19 | 1.880e+00 | 1.6460e+01 | 19.40 | 2.3200e+01 | 6.185e+01 | ▂▇▁▁▁ |
| porcentaje_de_crimen_cerca_del_hogar | 0 | 1 | 29.87 | 7.68 | 1.300e+00 | 2.7580e+01 | 31.02 | 3.4120e+01 | 6.357e+01 | ▁▂▇▁▁ |
| porcentaje_de_participacion_de_mujeres_en_las_decisiones_en_el_hogar | 0 | 1 | 76.17 | 11.65 | 1.690e+00 | 7.2580e+01 | 75.89 | 7.8910e+01 | 9.975e+01 | ▁▁▁▇▂ |
| edad_del_victimario | 0 | 1 | 45.48 | 9.59 | 2.400e+01 | 3.7000e+01 | 45.00 | 5.3750e+01 | 6.700e+01 | ▂▆▇▆▂ |
| cantidad_de_pandillas_juveniles | 0 | 1 | 7.24 | 4.07 | 0.000e+00 | 4.0000e+00 | 6.00 | 1.0000e+01 | 1.800e+01 | ▂▇▃▂▂ |
| indice_de_pobreza | 0 | 1 | 27.92 | 17.16 | 2.400e+00 | 1.4290e+01 | 24.50 | 3.9720e+01 | 7.340e+01 | ▇▇▆▃▂ |
| porcentaje_de_migrantes_venezolanos_en_el_sector | 0 | 1 | 0.18 | 0.78 | 0.000e+00 | 1.0000e-02 | 0.01 | 3.0000e-02 | 6.540e+00 | ▇▁▁▁▁ |
Variable type: POSIXct
| skim_variable | n_missing | complete_rate | min | max | median | n_unique |
|---|---|---|---|---|---|---|
| fecha_del_hecho | 0 | 1 | 2021-09-01 | 2021-09-30 | 2021-09-09 | 30 |
df %>%
select(where(is.numeric)) %>%
summary() %>%
kable()
| codigo_dane | edad_de_la_victima | cantidad_de_sucesos | numero_de_personas_por_hogar | cantidad_de_habitaciones_por_hogar | estrato_socioeconomico_de_la_victima | cantidad_de_establecimientos_con_venta_de_alcohol_cerca_del_hogar | porcentaje_de_riesgo_de_la_victima | porcentaje_de_actividades_comerciales_cerca_del_hogar | indice_de_actividad_policial | porcentaje_de_crimen_cerca_del_hogar | porcentaje_de_participacion_de_mujeres_en_las_decisiones_en_el_hogar | edad_del_victimario | cantidad_de_pandillas_juveniles | indice_de_pobreza | porcentaje_de_migrantes_venezolanos_en_el_sector | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Min. : 5079000 | Min. : 7.00 | Min. : 1.000 | Min. : 1.000 | Min. :1.000 | Min. :1.000 | Min. : 0.000 | Min. : 1.130 | Min. : 1.420 | Min. : 1.88 | Min. : 1.30 | Min. : 1.69 | Min. :24.00 | Min. : 0.000 | Min. : 2.40 | Min. :0.003000 | |
| 1st Qu.:15572000 | 1st Qu.:24.00 | 1st Qu.: 1.000 | 1st Qu.: 4.000 | 1st Qu.:2.000 | 1st Qu.:1.000 | 1st Qu.: 3.000 | 1st Qu.: 5.588 | 1st Qu.: 8.877 | 1st Qu.:16.46 | 1st Qu.:27.58 | 1st Qu.:72.58 | 1st Qu.:37.00 | 1st Qu.: 4.000 | 1st Qu.:14.29 | 1st Qu.:0.005436 | |
| Median :25343500 | Median :33.00 | Median : 1.000 | Median : 5.000 | Median :3.000 | Median :2.000 | Median : 4.000 | Median : 8.835 | Median :17.545 | Median :19.39 | Median :31.02 | Median :75.89 | Median :45.00 | Median : 6.000 | Median :24.50 | Median :0.010013 | |
| Mean :40357163 | Mean :34.17 | Mean : 1.484 | Mean : 4.937 | Mean :2.826 | Mean :1.932 | Mean : 4.058 | Mean : 9.620 | Mean :16.405 | Mean :19.18 | Mean :29.87 | Mean :76.17 | Mean :45.48 | Mean : 7.242 | Mean :27.92 | Mean :0.182329 | |
| 3rd Qu.:66001000 | 3rd Qu.:45.00 | 3rd Qu.: 1.000 | 3rd Qu.: 6.000 | 3rd Qu.:4.000 | 3rd Qu.:2.000 | 3rd Qu.: 5.000 | 3rd Qu.:12.307 | 3rd Qu.:23.270 | 3rd Qu.:23.20 | 3rd Qu.:34.12 | 3rd Qu.:78.91 | 3rd Qu.:53.75 | 3rd Qu.:10.000 | 3rd Qu.:39.72 | 3rd Qu.:0.031399 | |
| Max. :95200000 | Max. :76.00 | Max. :10.000 | Max. :12.000 | Max. :5.000 | Max. :6.000 | Max. :10.000 | Max. :49.630 | Max. :36.650 | Max. :61.85 | Max. :63.57 | Max. :99.75 | Max. :67.00 | Max. :18.000 | Max. :73.40 | Max. :6.538687 |
cat_vars <- df %>% select(where(is.character), where(is.factor)) %>% names()
for (v in cat_vars) {
cat("### Frecuencia de:", v, "\n")
print(kable(as.data.frame(table(df[[v]], useNA = "ifany"))))
cat("\n\n")
}
## ### Frecuencia de: arma_o_medio_de_agresion
##
##
## |Var1 | Freq|
## |:---------------------------|----:|
## |ARMA BLANCA / CORTOPUNZANTE | 38|
## |ARMA DE FUEGO | 3|
## |CONTUNDENTES | 113|
## |SIN EMPLEO DE ARMAS | 36|
##
##
## ### Frecuencia de: departamento
##
##
## |Var1 | Freq|
## |:------------------|----:|
## |AMAZONAS | 6|
## |ANTIOQUIA | 10|
## |ARAUCA | 10|
## |ATLÁNTICO | 10|
## |BOLÍVAR | 10|
## |BOYACÁ | 7|
## |CALDAS | 7|
## |CAQUETÁ | 8|
## |CASANARE | 10|
## |CAUCA | 10|
## |CESAR | 10|
## |CHOCÓ | 10|
## |CÓRDOBA | 10|
## |CUNDINAMARCA | 13|
## |GUAINÍA | 7|
## |GUAJIRA | 10|
## |GUAVIARE | 10|
## |HUILA | 4|
## |MAGDALENA | 5|
## |META | 6|
## |NARIÑO | 6|
## |NORTE DE SANTANDER | 4|
## |PUTUMAYO | 2|
## |RISARALDA | 5|
##
##
## ### Frecuencia de: municipio
##
##
## |Var1 | Freq|
## |:--------------------------|----:|
## |ACANDÍ | 1|
## |AGUACHICA | 1|
## |AQUITANIA | 1|
## |ARACATACA | 1|
## |ARAUCA (CT) | 7|
## |ARJONA | 1|
## |AYAPEL | 1|
## |BAHÍA SOLANO | 3|
## |BARBOSA | 2|
## |BARRANCAS | 2|
## |BARRANQUILLA (CT) | 8|
## |BELÉN | 1|
## |BELLO | 2|
## |BOGOTÁ D.C. (CT) | 13|
## |BUENAVISTA | 2|
## |CALAMAR | 1|
## |CARTAGENA (CT) | 8|
## |CARTAGENA DEL CHAIRÁ | 3|
## |CERETÉ | 2|
## |CHIBOLO | 1|
## |CHIMICHAGUA | 1|
## |CHINCHINÁ | 4|
## |CIÉNAGA | 3|
## |COPACABANA | 1|
## |CÚCUTA (CT) | 4|
## |DIBULLA | 1|
## |DUITAMA | 1|
## |EL CARMEN DE ATRATO | 1|
## |EL PASO | 1|
## |EL RETORNO | 1|
## |EL SANTUARIO | 1|
## |FLORENCIA (CT) | 5|
## |FONSECA | 3|
## |FREDONIA | 1|
## |GUACHENÉ | 1|
## |GUATAPÉ | 1|
## |INÍRIDA (CT) | 7|
## |ISTMINA | 1|
## |LETICIA (CT) | 5|
## |MACEO | 1|
## |MANIZALES (CT) | 3|
## |MARÍA LA BAJA | 1|
## |MARINILLA | 1|
## |MIRAFLORES | 1|
## |MONTERÍA (CT) | 3|
## |NEIVA (CT) | 2|
## |NUNCHÍA | 1|
## |PASTO (CT) | 6|
## |PAZ DE ARIPORO | 3|
## |PEREIRA (CT) | 5|
## |PIENDAMÓ | 1|
## |PITALITO | 2|
## |POPAYÁN (CT) | 8|
## |PORE | 2|
## |PUERTO ASÍS | 1|
## |PUERTO BOYACÁ | 2|
## |PUERTO NARIÑO | 1|
## |QUIBDÓ (CT) | 2|
## |RIOHACHA (CT) | 4|
## |RIOSUCIO | 1|
## |SAN JOSÉ DEL GUAVIARE (CT) | 7|
## |SAN PELAYO | 2|
## |SANTA LUCÍA | 1|
## |SARAVENA | 2|
## |SOGAMOSO | 1|
## |SOLEDAD | 1|
## |TADÓ | 1|
## |TAME | 1|
## |TRINIDAD | 3|
## |TUNJA (CT) | 1|
## |VALLE DEL GUAMUEZ | 1|
## |VALLEDUPAR (CT) | 7|
## |VILLAVICENCIO (CT) | 6|
## |YOPAL (CT) | 1|
##
##
## ### Frecuencia de: genero
##
##
## |Var1 | Freq|
## |:---------|----:|
## |FEMENINO | 147|
## |MASCULINO | 43|
##
##
## ### Frecuencia de: grupo_edad_de_la_victima
##
##
## |Var1 | Freq|
## |:------------|----:|
## |ADOLESCENTES | 10|
## |ADULTOS | 166|
## |MENORES | 14|
##
##
## ### Frecuencia de: nivel_educativo_de_la_victima
##
##
## |Var1 | Freq|
## |:-------------------|----:|
## |Posgrado | 21|
## |Primaria | 11|
## |Primaria completa | 1|
## |Primaria incompleta | 22|
## |Secundaria completa | 32|
## |Técnico | 48|
## |Universitaria | 55|
##
##
## ### Frecuencia de: inestabilidad_residencial
##
##
## |Var1 | Freq|
## |:----|----:|
## |No | 130|
## |Si | 60|
##
##
## ### Frecuencia de: situacion_de_empleo_jefe_a_cabeza_de_hogar
##
##
## |Var1 | Freq|
## |:-------------------|----:|
## |Desempleado | 69|
## |Empleado/Ocupado | 92|
## |Jubilado / Retirado | 4|
## |Otras | 25|
##
##
## ### Frecuencia de: presencia_de_pandillas_juveniles
##
##
## |Var1 | Freq|
## |:-----|----:|
## |Alta | 103|
## |Baja | 5|
## |Media | 82|
##
##
## ### Frecuencia de: presencia_de_crimen_organizado
##
##
## |Var1 | Freq|
## |:----|----:|
## |No | 35|
## |Si | 155|
ggplot(df, aes(edad_de_la_victima)) +
geom_histogram(bins = 20, fill = "#4B9CD3") +
labs(title = "Distribución de edades", x = "Edad", y = "Frecuencia")
H0: No existe correlación entre la edad de la
víctima y la cantidad de sucesos registrados.
H1: Sí existe correlación entre la edad de la víctima y
la cantidad de sucesos registrados.
cor.test(df$edad_de_la_victima,
df$cantidad_de_sucesos,
use = "complete.obs",
method = "pearson")
##
## Pearson's product-moment correlation
##
## data: df$edad_de_la_victima and df$cantidad_de_sucesos
## t = 3.8998, df = 188, p-value = 0.0001339
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.1365369 0.4003356
## sample estimates:
## cor
## 0.2735729
H0: No existe correlación entre el porcentaje de
riesgo de la víctima y la cantidad de sucesos registrados.
H1: Sí existe correlación entre el porcentaje de riesgo
de la víctima y la cantidad de sucesos registrados.
cor.test(df$porcentaje_de_riesgo_de_la_victima,
df$cantidad_de_sucesos,
use = "complete.obs",
method = "pearson")
##
## Pearson's product-moment correlation
##
## data: df$porcentaje_de_riesgo_de_la_victima and df$cantidad_de_sucesos
## t = 15.176, df = 188, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.6704602 0.7998631
## sample estimates:
## cor
## 0.7419958
H0: La cantidad de sucesos es igual entre los
géneros.
H1: La cantidad de sucesos difiere entre los
géneros.
t.test(cantidad_de_sucesos ~ genero, data = df)
##
## Welch Two Sample t-test
##
## data: cantidad_de_sucesos by genero
## t = 3.4176, df = 187.67, p-value = 0.0007746
## alternative hypothesis: true difference in means between group FEMENINO and group MASCULINO is not equal to 0
## 95 percent confidence interval:
## 0.2010613 0.7500541
## sample estimates:
## mean in group FEMENINO mean in group MASCULINO
## 1.591837 1.116279
H0: No existe correlación entre el porcentaje de
crimen cerca del hogar y la cantidad de sucesos registrados.
H1: Sí existe correlación entre el porcentaje de crimen
cerca del hogar y la cantidad de sucesos registrados.
cor.test(df$porcentaje_de_crimen_cerca_del_hogar,
df$cantidad_de_sucesos,
use = "complete.obs",
method = "pearson")
##
## Pearson's product-moment correlation
##
## data: df$porcentaje_de_crimen_cerca_del_hogar and df$cantidad_de_sucesos
## t = 6.8327, df = 188, p-value = 1.125e-10
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.3242498 0.5532428
## sample estimates:
## cor
## 0.4460159
H0: La edad de la víctima y el género no influyen
significativamente en la cantidad de sucesos.
H1: La edad y/o el género influyen significativamente
en la cantidad de sucesos.
modelo <- lm(cantidad_de_sucesos ~ edad_de_la_victima + genero, data = df)
summary(modelo)
##
## Call:
## lm(formula = cantidad_de_sucesos ~ edad_de_la_victima + genero,
## data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.5248 -0.5593 -0.3524 0.1171 7.9349
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.777694 0.248003 3.136 0.001991 **
## edad_de_la_victima 0.022989 0.006345 3.623 0.000375 ***
## generoMASCULINO -0.349471 0.223303 -1.565 0.119272
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.272 on 187 degrees of freedom
## Multiple R-squared: 0.0868, Adjusted R-squared: 0.07704
## F-statistic: 8.888 on 2 and 187 DF, p-value: 0.0002055
tidy(modelo)
## # A tibble: 3 × 5
## term estimate std.error statistic p.value
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 (Intercept) 0.778 0.248 3.14 0.00199
## 2 edad_de_la_victima 0.0230 0.00635 3.62 0.000375
## 3 generoMASCULINO -0.349 0.223 -1.57 0.119
# 5. Gráficos
## Distribución de la edad de la víctima
``` r
ggplot(df, aes(edad_de_la_victima)) +
geom_histogram(bins = 20, fill = "skyblue") +
labs(title = "Distribución de la edad de la víctima",
x = "Edad", y = "Frecuencia")
ggplot(df, aes(genero, cantidad_de_sucesos)) +
geom_boxplot(fill = "pink") +
labs(title = "Cantidad de sucesos por género",
x = "Género", y = "Cantidad de sucesos")
Los resultados muestran que la edad no presenta una relación fuerte con la cantidad de sucesos, lo que sugiere que la violencia intrafamiliar afecta a distintos grupos etarios sin una tendencia marcada por la edad.
En cuanto al porcentaje de riesgo, se observó una relación positiva con los sucesos, indicando que niveles más altos de riesgo están asociados con mayor número de hechos reportados.
La comparación por género evidenció diferencias significativas: las mujeres presentan en promedio una mayor cantidad de sucesos registrados.
Respecto al crimen cercano, se encontró una correlación que sugiere que entornos con mayor criminalidad tienden a presentar más casos de violencia intrafamiliar.
Finalmente, el modelo lineal mostró que tanto la edad como el género contribuyen parcialmente a explicar la cantidad de sucesos, aunque no son los únicos factores relevantes.
El análisis de la base de datos permitió identificar patrones relevantes: la edad no determina la ocurrencia de sucesos, el género sí muestra diferencias importantes, y variables adicionales como el riesgo y el entorno criminal tienen un rol asociado.
Los resultados permiten concluir que la violencia intrafamiliar debe abordarse desde múltiples factores, considerando tanto características individuales como contextuales. A pesar de que los datos incluyen solo denuncias oficiales, constituyen una base valiosa para comprender el comportamiento de este fenómeno y orientar futuras investigaciones. ```