Column

Analilis de los ingresos operacionales

En este grafico se puede envidenciar que la mayoria dela victimas son femeninas, sin embargo tambien notamos un alto numero de hombres que sufren violencia intrafamiliar en su hogar.

ggplot(violencia, aes(x = genero)) +
  geom_bar(fill = "lightblue") +
  labs(title = "Distribución de Incidentes por Género",
       x = "Género",
       y = "Número de Incidentes") +
  theme_minimal()

Column

Gráfico de calor: Distribución de Incidentes por Día de la Semana y Rango Horario

Con el uso de un grafico de calor se percibe en que rango de horas y que dia es que se presentan mas casos de violencia intrafamiliar.

ggplot(resumen, aes(x = dia, y = rango_hora, fill = n)) +
  geom_tile(color = "white", lwd = 1.5, linetype = 1) +
  scale_fill_gradient2(low = "green", mid = "yellow", high = "red") +
  labs(x = "Dias de la Semana",
       y = "Rango de Horas",
       fill = "N° de incidentes") +
  guides(fill = guide_colorbar(barheight = 5, barwidth = 1)) + 
  theme_minimal() +
  theme(
    axis.text.x = element_text(angle = 45, hjust = 1),  
            
    axis.title.x = element_text(margin = margin(t = 10)),
    axis.title.y = element_text(margin = margin(r = 10))  
  )

Column

Grafico de la edad de las victimas por genero

victimaM <- subset(violencia, violencia$genero == "Masculino")
victimaF <- subset(violencia, violencia$genero == "Femenino")

PromedioEdad <- mean(victimaM $edad, na.rm = T)
promE <- mean(victimaF$edad, na.rm = T)

cat("El promedio de edad de violencia intrafamiliar de los casos masculinos: ", round(PromedioEdad))
## El promedio de edad de violencia intrafamiliar de los casos masculinos:  32
cat("El promedio de edad de violencia intrafamiliar de los casos Femeninos: ", round(promE))
## El promedio de edad de violencia intrafamiliar de los casos Femeninos:  30

Column

violencia_clean <- violencia %>%
  filter(is.finite(edad))

# Crear el gráfico con los datos filtrados
ggplot(violencia_clean, aes(x = circunstacia, y = edad, fill = circunstacia)) +
  geom_violin(alpha = 0.5) +
  scale_x_discrete(labels = function(x) str_wrap(x, width = 10)) +
  theme(legend.position = "none",
        axis.text.x = element_text(angle = 45, hjust = 1))
## Warning: Groups with fewer than two datapoints have been dropped.
## ℹ Set `drop = FALSE` to consider such groups for position adjustment purposes.