Noviazgos Violentos en la Ciudad de Buenos Aires

Análisis en base a encuestas realizadas en 2018

Introducción

Según las estadísticas del país, el 50% de las situaciones con violencia en parejas más consolidadas comenzaron muchas veces ya en el noviazgo, y por tanto, en la Ciudad de Buenos Aires, y en Argentina en general, se trabaja sobre la concientización y prevención temprana de casos de violencia.

Dentro del programa Noviazgos Sin Violencia, del Ministerio de Desarrollo Humano y Hábitat (MDHyH), cuyo objetivo es el de brindar asistencia, orientación y acompañamiento a adolescentes de entre 14 y 21 años que viven o vivieron situaciones de violencia física, emocional o sexual en sus parejas, se realizó una encuesta online (https://www.buenosaires.gob.ar/desarrollohumanoyhabitat/mujer/senales-de-alerta-en-el-noviazgo) para brindar medios de apoyo y asistencia a quienes son víctimas de relaciones violentas, y también generar conciencia hacia una sociedad libre de violencia.

En general, en base a los resultados de la encuesta analizada, un 74,84% de los casos no estaría en una relación violenta, sin embargo, se consideró importante realizar un desglose sobre los diferentes casos según otros indicadores: lugar de residencia, nivel de ingreso, grupo etario y sexo.

Construyendo el Perfil de Violencia

Se trabajó sobre la base de datos, ordenándola con dos objetivos: en primer lugar, se cruzó con la base de datos de comunas, dado que permitía un mejor entendimiento georeferencial de la base a analizar, la cual estaba basada en barrios; en segundo, se creó la columna para poder caracterizar el “Perfil de Violencia” por cada comuna.

El “Perfil de Violencia” se crea en base a una triple categoría: Violento / Con alerta / No Violento. La encuesta, compuesta por un total de diez preguntas relacionada a hábitos o conductas violentas tenian respuestas que estaban caracterizadas como “siempre”, “a veces”, “nunca”. Por tanto, a mayor cantidad de respuestas “Siempre”, el perfil se inclinará hacía la categoría de “Violento”. Cuando sólo cuatro de las diez preguntas eran respondidas afirmativamente (es decir, afirmando una temporalidad frecuente de hábitos violentos en la relación), la categoría del perfil se llamaba “con alerta”, entendiendo que si bien no caracterizaba la relación como “violenta”, si tenía indicios de posibles riesgos que pudiesen derivar en el corto o mediano plazo en una relación violenta.

library(tidyverse)
library(sf)
library(ggthemes)
library(RColorBrewer)

noviazgo = read.csv('http://cdn.buenosaires.gob.ar/datosabiertos/datasets/test-de-alerta-sobre-un-noviazgo-violento/resultados-del-test-febrero-octubre-2018.csv', sep = ";")

barrios_comunas = read.csv('https://data.buenosaires.gob.ar/dataset/19/resource/7ac3ebfa-2f32-41d4-ae39-ae6f5ba15070/download/barrios_comunas-1.csv')

poblacion_comuna = read.csv('http://cdn.buenosaires.gob.ar/datosabiertos/datasets/comunas/gcba_pob_comunas_17.csv')

poblacion_barrio = read.csv('http://cdn.buenosaires.gob.ar/datosabiertos/datasets/barrios/caba_pob_barrios_2010.csv')
barrios = st_read("https://data.buenosaires.gob.ar/dataset/19/resource/1c3d185b-fdc9-474b-b41b-9bd960a3806e/download/barrios.geojson")
noviazgo_comuna_pob2 = noviazgo %>% 
  left_join(barrios_comunas)

noviazgo_comuna_pob2 = noviazgo_comuna_pob2 %>% 
  left_join(poblacion_comuna)

colnames(noviazgo_comuna_pob2)[colnames(noviazgo_comuna_pob2)=="POBLACION"] = "POBLACION_COMUNA"

noviazgo_comuna_pob2 = noviazgo_comuna_pob2 %>% 
  left_join(poblacion_barrio)

remove(noviazgo, barrios_comunas, poblacion_barrio, poblacion_comuna)

colnames(noviazgo_comuna_pob2)[colnames(noviazgo_comuna_pob2)=="POBLACION"] = "POBLACION_BARRIO"
colnames(noviazgo_comuna_pob2)[colnames(noviazgo_comuna_pob2)=="PREG_1"] = "P1_NO_ESTAN_JUNTOS"
colnames(noviazgo_comuna_pob2)[colnames(noviazgo_comuna_pob2)=="PREG_2"] = "P2_REDES"
colnames(noviazgo_comuna_pob2)[colnames(noviazgo_comuna_pob2)=="PREG_3"] = "P3_INFIEL"
colnames(noviazgo_comuna_pob2)[colnames(noviazgo_comuna_pob2)=="PREG_4"] = "P4_TENSION"
colnames(noviazgo_comuna_pob2)[colnames(noviazgo_comuna_pob2)=="PREG_5"] = "P5_ACTIVIDADES_INDEPENDIENTES"
colnames(noviazgo_comuna_pob2)[colnames(noviazgo_comuna_pob2)=="PREG_6"] = "P6_PERDIDA_DE_AMIGXS"
colnames(noviazgo_comuna_pob2)[colnames(noviazgo_comuna_pob2)=="PREG_7"] = "P7_APARIENCIA"
colnames(noviazgo_comuna_pob2)[colnames(noviazgo_comuna_pob2)=="PREG_8"] = "P8_OPINION"
colnames(noviazgo_comuna_pob2)[colnames(noviazgo_comuna_pob2)=="PREG_9"] = "P9_NO_SERVIS" 
colnames(noviazgo_comuna_pob2)[colnames(noviazgo_comuna_pob2)=="PREG_10"] = "P10_AMENAZA" 
  
# A es "siempre", B es "a veces", C es "nunca"

noviazgo_comuna_pob2 <- noviazgo_comuna_pob2 %>% 
  mutate(cantidad_As =( P1_NO_ESTAN_JUNTOS == "A") +
                           (P2_REDES == "A") +
                           (P3_INFIEL == "A") + 
                           (P4_TENSION == "A") +
                           (P5_ACTIVIDADES_INDEPENDIENTES == "A")  +
                           (P6_PERDIDA_DE_AMIGXS == "A")  +
                           (P7_APARIENCIA == "A")  +
                           (P8_OPINION == "A")  +
                           (P9_NO_SERVIS == "A")  +
                           (P10_AMENAZA  == "A")) %>% 
  mutate(perfil_de_violencia = case_when(
    cantidad_As > 7 ~ "Violento",
    cantidad_As > 4 ~ "Con alerta",
    cantidad_As <= 4  ~ "No violento"
  ))
noviazgo_comuna_pob2 = noviazgo_comuna_pob2 %>% 
select(FECHA, HORA, EDAD, GENERO, BARRIO, COMUNA, POBLACION_COMUNA, POBLACION_BARRIO, perfil_de_violencia) %>% 
filter(BARRIO != "OTRO")

ggplot(noviazgo_comuna_pob2, aes(x=perfil_de_violencia)) +
  geom_bar(width = 0.4) +
  theme_minimal() + 
  labs(title = "Cantidad de noviazgos violentos, con alerta y no violentos",
         caption = "Fuente: Portal de datos abiertos de la Ciudad - http://data.buenosaires.gob.ar",
         fill = "Escala",
       x = "Perfil de Violencia",
       y = "Número de casos") + 
  scale_fill_manual(values = c("red", "green", "blue"))

Se construyeron las variables que contabilizan la cantidad de relaciones violentas, con alerta y no violentas por barrio. Así podemos decir que, en base a esta encuesta, un total de 8714 respuestas hablan de una predominancia del perfil “no violento” en la Ciudad de Buenos Aires. La diferencia de casos entre el perfil “con alerta” y “no violento” no es importante, dado que se habla de 1364 y 1565 casos, respectivamente.

Mapa del Perfil de Violencia

noviazgo_comuna_pob2 = noviazgo_comuna_pob2 %>% 
  mutate(violento = ifelse(perfil_de_violencia == "Violento", 1, 0)) %>% 
  mutate(conalerta = ifelse(perfil_de_violencia == "Con alerta", 1, 0)) %>%
  mutate(noviolento = ifelse(perfil_de_violencia == "No violento", 1, 0))

cantidad_v <- noviazgo_comuna_pob2 %>% 
  filter(violento == 1) %>% 
  count(BARRIO, violento) 
cantidad_v$violento = NULL
colnames(cantidad_v)[colnames(cantidad_v)=="n"] <- "violentos"

cantidad_ca <- noviazgo_comuna_pob2 %>% 
  filter(conalerta == 1) %>% 
  count(BARRIO, conalerta)
cantidad_ca$conalerta = NULL
colnames(cantidad_ca)[colnames(cantidad_ca)=="n"] <- "conalerta"

cantidad_nv <- noviazgo_comuna_pob2 %>% 
  filter(noviolento == 1) %>% 
  count(BARRIO, noviolento)
cantidad_nv$noviolento = NULL
colnames(cantidad_nv)[colnames(cantidad_nv)=="n"] <- "noviolento"

cantidad_nv <- cantidad_nv %>% 
  filter(BARRIO != "NONE")

cantidad_ca <- arrange(cantidad_ca, BARRIO)
cantidad_v <- arrange(cantidad_v, BARRIO)
cantidad_nv <- arrange(cantidad_nv, BARRIO)
barrios <- arrange(barrios, BARRIO)

cantidad_ca[45,2] = 0
cantidad_ca[46,2] = 0
cantidad_ca[47,2] = 0
cantidad_ca[48,2] = 0
cantidad_ca[45,1] = "VELEZ SARSFIELD"
cantidad_ca[46,1] = "VILLA REAL"
cantidad_ca[47,1] = "VILLA GENERAL MITRE"
cantidad_ca[48,1] = "VILLA SANTA RITA"
cantidad_v[46,2] = 0
cantidad_v[47,2] = 0
cantidad_v[48,2] = 0
cantidad_v[46,1] = "VILLA ORTUZAR"
cantidad_v[47,1] = "VILLA SANTA RITA"
cantidad_v[48,1] = "PARQUE CHAS"
cantidad_nv[48,1] = "VILLA SANTA RITA"
cantidad_nv[48,2] = 0

cantidad_ca <- arrange(cantidad_ca, BARRIO)
cantidad_v <- arrange(cantidad_v, BARRIO)
cantidad_nv <- arrange(cantidad_nv, BARRIO)
barrios <- arrange(barrios, BARRIO)

cantidad_nv[20,1] = "NUÑEZ"
cantidad_ca[20,1] = "NUÑEZ"
cantidad_v[20,1] = "NUÑEZ"
cantidad_nv[39,1] = "VILLA GRAL. MITRE"
cantidad_ca[39,1] = "VILLA GRAL. MITRE"
cantidad_v[39,1] = "VILLA GRAL. MITRE"
cantidad_nv[14,1] = "BOCA"
cantidad_ca[14,1] = "BOCA"
cantidad_v[14,1] = "BOCA"
cantidad_nv[15,1] = "PATERNAL"
cantidad_ca[15,1] = "PATERNAL"
cantidad_v[15,1] = "PATERNAL"
cantidad_nv[19,1] = "MONSERRAT"
cantidad_ca[19,1] = "MONSERRAT"
cantidad_v[19,1] = "MONSERRAT"

cantidad_ca <- arrange(cantidad_ca, BARRIO)
cantidad_v <- arrange(cantidad_v, BARRIO)
cantidad_nv <- arrange(cantidad_nv, BARRIO)
barrios <- arrange(barrios, BARRIO)

totales <- cantidad_v %>% 
  left_join(cantidad_ca)

totales <- totales %>% 
  left_join(cantidad_nv)

remove(cantidad_ca, cantidad_nv, cantidad_v)

Luego, se creó un mapa para ver la totalidad absoluta de la Ciudad en base al “perfil de Violencia” por cada barrio. Así se puede observar que los dos barrios más violentos -en términos absolutos- son Almagro y Agronomía.

barrios <- barrios %>% 
  select(BARRIO, geometry)

totales <- left_join(totales, barrios)

ggplot() +
  geom_sf(data = totales, aes(fill = violentos)) +
  labs(title = "Cantidad absoluta de noviazgos violentos",
         subtitle = "Por barrios, Ciudad Autónoma de Buenos Aires, 2018",
         caption = "Fuente: Portal de datos abiertos de la Ciudad - http://data.buenosaires.gob.ar",
         fill = "Escala") +
  scale_fill_gradient(low = "lightblue", high = "navy") +
  theme_minimal()

A continuación, se relativizó dicho dataframe en base a la incidencia de casos violentos según la población de cada barrio, para tener el porcentaje de resultados “Violentos” por cada barrio, y se realizó dicho mapa nuevamente con los números relativos. Así se puede observar que nuevamente Agronomía es uno de los barrios con más casos de perfil “violento”, pero antes en primer lugar, se encontró que Villa Riachuelo es el lugar con mayor incidencia de perfil “violento” en noviazgos.

Si se dividiese a la Capital Federal en tres grandes zonas (norte, centro y sur) se podría afirmar en base a los datos analizados que son mayores lo casos en la zona centro de la Ciudad, aunque los barrios bien al sur encabezarían el listado: siendo los barrios con mayores casos Villa Soldati y Villa Riachuelo.

Por otro lado, se aclara que no hay casos en el barrio Santa Risa, y por tanto figura coloreado como violeta/grisáceo.

totales <- totales %>% 
mutate(violentos_p = violentos / (violentos + conalerta + noviolento)) %>%
mutate(conalerta_p = conalerta / (violentos + conalerta + noviolento)) %>%
mutate(noviolentos_p = noviolento / (violentos + conalerta + noviolento))
ggplot() +
  geom_sf(data = totales, aes(fill = violentos_p)) +
  labs(title = "% de noviazgos detectados como violentos",
         subtitle = "Por barrios, Ciudad Autónoma de Buenos Aires, 2018",
         caption = "Fuente: Portal de datos abiertos de la Ciudad - http://data.buenosaires.gob.ar",
         fill = "Escala") +
  scale_fill_gradient(low = "yellowgreen", high = "red2") +
    theme_minimal()

A su vez, se quiso analizar el “Perfil de Violencia” según el ingreso promedio por comuna, para poder revisar si existe o no una correlación entre perfiles más violentos y el nivel de ingreso. Se cruzó entonces la base analizada con la base de ingreso familiar per cápita promedio por comuna (2018) de DGEyC.

Así se pudo observar que a menor ingreso per cápita promedio, aparentemente, habrían mayores casos de perfiles de noviazgo violento.

barrios = st_read("https://data.buenosaires.gob.ar/dataset/19/resource/1c3d185b-fdc9-474b-b41b-9bd960a3806e/download/barrios.geojson")
barrios <- barrios %>% 
  select(BARRIO, COMUNA)

barrios$geometry = NULL

totales <- left_join(totales, barrios)

totales2 <- totales %>% 
  select(BARRIO, violentos, conalerta, noviolento, COMUNA)

totales2 <- totales2 %>%
  count(COMUNA, violentos, conalerta, noviolento) %>% 
  group_by(COMUNA) %>% 
  summarise(violentos = sum(violentos),
            conalerta = sum(conalerta),
            noviolento = sum(noviolento))

totales2 <- totales2 %>% 
mutate(violentos_p = violentos / (violentos + conalerta + noviolento)) %>%
mutate(conalerta_p = conalerta / (violentos + conalerta + noviolento)) %>%
mutate(noviolentos_p = noviolento / (violentos + conalerta + noviolento))

ingresos <- read.csv("ingresos.csv", sep =";")

ingresos$COMUNA <- as.factor(ingresos$COMUNA)

totales2 <- left_join(totales2, ingresos)

totales2$COMUNA <- as.numeric(totales2$COMUNA)
arrange(totales2, COMUNA)
ggplot(totales2) + 
  geom_point(aes(x = INGRESOFPC, y = violentos_p, size = 2)) +
  labs(title = "Ingresos vs. violencia en el noviazgo",
         subtitle = "Comunas de la Ciudad Autónoma de Buenos Aires, 2018",
         caption = "Fuente: BA Data y DG de Estadística y Censos",
        x="Ingreso familiar per cápita promedio", 
       y = "% de noviazgos detectados como violentos") +
  geom_text(aes(x = INGRESOFPC, y = violentos_p, label = factor(COMUNA)), size = 2.5, color = "white") +
  geom_smooth(aes(x = INGRESOFPC, y = violentos_p), method=lm, se=FALSE) +
  theme_minimal() +
  theme(legend.position = "none")

violencia_exp <- lm(violentos_p ~ INGRESOFPC, data = totales2)

summary(violencia_exp)

Call:
lm(formula = violentos_p ~ INGRESOFPC, data = totales2)

Residuals:
      Min        1Q    Median        3Q       Max 
-0.028317 -0.010320 -0.001379  0.008965  0.043263 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  9.082e-02  1.753e-02   5.181 0.000177 ***
INGRESOFPC  -1.522e-06  7.836e-07  -1.942 0.074066 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.01909 on 13 degrees of freedom
Multiple R-squared:  0.2249,    Adjusted R-squared:  0.1653 
F-statistic: 3.773 on 1 and 13 DF,  p-value: 0.07407

Relación del “Perfil de Violencia” según grupo etario

Por otro lado, se analizó el “Perfil de Violencia” por grupos etarios. Sorprende la gran cantidad de casos de noviazgo violento entre menores de 18 y 30 años, y por tanto, se reconoce y reafirma la necesidad de programas de concientización y prevención de violencia en las relaciones desde temprana edad. Los otros grupos etarios no presentan diferencias sustanciales.

totales3 <- noviazgo_comuna_pob2 %>% 
  select(EDAD, GENERO, violento, conalerta, noviolento)

totales4 <- totales3 %>%
  select(EDAD, violento, conalerta, noviolento) %>%
  group_by(EDAD) %>% 
  summarise(violento = sum(violento),
            conalerta = sum(conalerta),
            noviolento = sum(noviolento))

totales4$EDAD <- as.numeric(as.character(totales4$EDAD))

totales4[1,1] = 17

totales4 <- totales4 %>% 
  mutate(rango = case_when(
    EDAD > 90  ~ "91 +",
    EDAD > 80  ~ "81 - 90",
    EDAD > 70  ~ "71 - 80",
    EDAD > 60  ~ "61 - 70",
    EDAD > 50  ~ "51 - 60",
    EDAD > 40  ~ "41 - 50",
    EDAD > 30  ~ "31 - 40",
    EDAD > 20  ~ "21 - 30",
    EDAD > 10 ~ "< 18 - 20"
  ##  EDAD == 20  ~ "20 ☻",
  ##  EDAD == 19  ~ "19",
  ##  EDAD == 18  ~ "18",
  ##  EDAD == 17  ~ "< 18"
  ))

totales4 <- totales4 %>%
  select(rango, violento, conalerta, noviolento) %>%
  group_by(rango) %>% 
  summarise(violento = sum(violento),
            conalerta = sum(conalerta),
            noviolento = sum(noviolento))

totales4 <- totales4 %>% 
filter(rango != "91 +") %>% 
  filter(rango != "81 - 90") %>% 
  filter(rango != "71 - 80")

totales4 <- totales4 %>% 
mutate(violentos_p = violento / (violento + conalerta + noviolento)) %>%
mutate(conalerta_p = conalerta / (violento + conalerta + noviolento)) %>%
mutate(noviolentos_p = noviolento / (violento + conalerta + noviolento))
ggplot(totales4) +
    geom_bar(aes(x = rango, weight = violentos_p)) +
  labs(title = "% de noviazgos violentos según rango de edades de los encuestados",
         subtitle = "Ciudad Autónoma de Buenos Aires, 2018",
         caption = "Fuente: BA Data",
       x="", 
       y = "") +
    theme_minimal()

A su vez se analizó si existían diferencias sustanciales por sexo y no se encontró diferencia significativa. Sin embargo, se destaca que el número de respuestas femeninas en la muestra es sustancialmente mayor al de masculinos.

totales5 <- totales3 %>%
  select(GENERO, violento, conalerta, noviolento) %>%
  group_by(GENERO) %>% 
  summarise(violento = sum(violento),
            conalerta = sum(conalerta),
            noviolento = sum(noviolento))

totales5 <- totales5 %>% 
mutate(violentos_p = violento / (violento + conalerta + noviolento)) %>%
mutate(conalerta_p = conalerta / (violento + conalerta + noviolento)) %>%
mutate(noviolentos_p = noviolento / (violento + conalerta + noviolento))

totales5 <- filter(totales5, GENERO != "OTRO")
ggplot(totales5) +
    geom_bar(aes(x = GENERO, weight = violentos_p)) +
  labs(title = "% de noviazgos violentos según género de la persona encuestada",
         subtitle = "Ciudad Autónoma de Buenos Aires, 2018",
         caption = "Fuente: BA Data",
       x="", 
       y = "") + 
  theme_minimal()

Conclusiones

Aún cuando la calidad o margen de error de la encuesta base a los datos analizados no se conoce, y sabiendo que, dentro de la limpieza de dicha base se encontraron errores como, por ejemplo una categoría “otros” para el campo de barrio (aproximadamente 4000 casos), la base analizada contradice los titulares de varias publicaciones y piezas mediáticas sobre los números de casos de violencia en las relaciones de la Ciudad de Buenos Aires. Por otro lado, se entiende que al ser un test de carácter digital y voluntario, no hay obligación ni posibilidad de evaluar por otro medio la veracidad de las respuestas dadas. A su vez, se entiende que muchos casos de personas que estén actualmente en una relación violenta, no responderían de forma voluntaria dicho test, debido a casos de negación, miedo u otras situaciones.

Mediante el párrafo anterior no se niega ninguna situación de violencia que pudiera efectivamente existir, y de hecho, se afirma la necesidad de continuar con este tipo de programas para poder erradicar aquellos casos que efectivamente sufran algún tipo de violencia. Incluso, se incentiva con este trabajo la necesidad de seguir trabajando sobre la medición y creación de estadísticas que permitan entender mejor el contexto que da lugar a dichas situaciones, así como también evaluar los programas que buscan prevenir y/o corregirlas para ver si las soluciones diseñadas son efectivas a la hora de cumplir con los objetivos propuestos..