🏠 Introducción

El presente informe tiene como finalidad analizar la base de datos proporcionada, la cual contiene información relacionada con diversas variables numéricas y categóricas relevantes para el estudio. A través de técnicas estadísticas descriptivas y correlacionales, se busca comprender el comportamiento general de los datos, identificar patrones, relaciones entre variables y obtener conclusiones que aporten al entendimiento del conjunto de información recopilada.

Este análisis se enmarca dentro del programa de formación TAD-11 del SENA Colombo Alemán, como parte del desarrollo de competencias en análisis de datos y generación de informes estadísticos.

🎯 Objetivo General

Realizar un análisis estadístico descriptivo y correlacional de la base de datos con el fin de identificar patrones, tendencias y relaciones relevantes entre las variables estudiadas, utilizando herramientas de visualización y técnicas estadísticas que permitan una interpretación clara y fundamentada de los hallazgos.

Objetivos Específicos

  1. Depurar la base de datos eliminando valores faltantes (NA) y garantizando la calidad de la información para análisis posteriores.
  2. Generar consultas descriptivas para evaluar el comportamiento de variables clave, obteniendo estadísticas de tendencia central y dispersión.
  3. Representar gráficamente los resultados mediante visualizaciones efectivas que faciliten la interpretación y comunicación de los hallazgos.
  4. Calcular la correlación de Pearson entre variables seleccionadas para identificar relaciones lineales significativas en el conjunto de datos.
  5. Elaborar conclusiones basadas en los hallazgos estadísticos que permitan fundamentar decisiones o estudios posteriores.

📋 Metodología del Proyecto

Para el desarrollo de este análisis se aplicó una metodología estructurada en las siguientes fases:

1️⃣ Carga y Limpieza de Datos

Se importó la base de datos desde el archivo BD_CONSOLIDADA.xlsx y se realizó un proceso exhaustivo de limpieza que incluyó: - Eliminación de valores faltantes (NA) - Normalización de espacios en blanco - Conversión de tipos de datos - Validación de integridad de la información

2️⃣ Consultas Descriptivas

Se diseñaron y ejecutaron cuatro consultas estratégicas sobre las variables más relevantes del conjunto de datos: - Distribución por departamento - Distribución temporal (mensual) - Segmentación por grupos de edad - Clasificación por mecanismo causal

Para cada consulta se calcularon estadísticas descriptivas como frecuencias, porcentajes y medidas de tendencia central.

3️⃣ Visualización Gráfica

Cada consulta fue representada mediante gráficos apropiados: - Gráficos de barras horizontales para comparaciones categóricas - Gráficos de barras verticales para series temporales - Inclusión de etiquetas numéricas para facilitar la lectura - Paleta de colores consistente y profesional

4️⃣ Análisis de Correlación

Se aplicó el coeficiente de correlación de Pearson para identificar relaciones lineales entre variables numéricas, generando: - Matriz de correlación completa - Heatmap visualizado con escala de colores - Interpretación de las correlaciones significativas

5️⃣ Interpretación y Conclusiones

Cada hallazgo fue analizado de manera cualitativa y cuantitativa, estableciendo conexiones entre las variables y extrayendo insights relevantes para la comprensión del fenómeno estudiado.

📊 Consulta 1: Casos por Departamento

Consulta1 <- Feminicidios %>%
  filter(!is.na(DEPT_HECHO_F)) %>%
  count(DEPT_HECHO_F, name = "Casos") %>%
  arrange(desc(Casos))

kable(Consulta1, caption = "📍 Distribución de Casos por Departamento (sin valores NA)") %>%
  kable_styling(full_width = FALSE, bootstrap_options = c("striped", "hover", "condensed"))
📍 Distribución de Casos por Departamento (sin valores NA)
DEPT_HECHO_F Casos
Atlántico 23
Valle del Cauca 20
Antioquia 15
Santander 14
Bolívar 11
Bogotá, D.C. 10
Nariño 8
Cesar 6
Cundinamarca 6
Cauca 5
Huila 5
Magdalena 5
Norte de Santander 5
Caquetá 4
Risaralda 4
Sucre 4
Arauca 3
Boyacá 2
La Guajira 2
Tolima 2
Archipiélago de San Andrés, Providencia y Santa Catalina 1
Casanare 1
Chocó 1
Córdoba 1
Meta 1
ggplot(Consulta1, aes(x = reorder(DEPT_HECHO_F, Casos), y = Casos)) +
  geom_col(fill = "#ff6b9d", alpha = 0.9) +
  geom_text(aes(label = Casos), hjust = -0.2, size = 4, color = "#c44569", fontface = "bold") +
  coord_flip() +
  theme_minimal(base_size = 13) +
  labs(
    title = "Distribución de Casos por Departamento",
    subtitle = "Análisis geográfico de la incidencia registrada",
    x = "Departamento",
    y = "Número de Casos",
    caption = "Fuente: BD_CONSOLIDADA.xlsx | SENA TAD-11"
  ) +
  theme(
    plot.title = element_text(face = "bold", size = 16, color = "#c44569"),
    plot.subtitle = element_text(size = 12, color = "#8e44ad"),
    axis.title = element_text(face = "bold"),
    panel.grid.major.x = element_line(color = "#ffe4f0"),
    panel.grid.minor = element_blank()
  ) +
  expand_limits(y = max(Consulta1$Casos) * 1.15)

🔍 Análisis de Resultados

Hallazgo Principal: Antioquia y Valle del Cauca concentran más del 26% de todos los hechos registrados en la base de datos, evidenciando una fuerte concentración geográfica de la incidencia en estas dos regiones del país.

La distribución geográfica muestra una marcada heterogeneidad entre departamentos, con algunos territorios presentando cifras significativamente superiores al promedio nacional. Esta concentración sugiere la necesidad de implementar estrategias focalizadas en las regiones con mayor incidencia.

📅 Consulta 2: Casos por Mes del Hecho

Consulta2 <- Feminicidios %>%
  filter(!is.na(MES_HECHO_F)) %>%
  count(MES_HECHO_F, name = "Casos") %>%
  arrange(match(MES_HECHO_F,
         c("ENERO","FEBRERO","MARZO","ABRIL","MAYO","JUNIO",
           "JULIO","AGOSTO","SEPTIEMBRE","OCTUBRE","NOVIEMBRE","DICIEMBRE")))

kable(Consulta2, caption = "📆 Distribución Mensual de Casos") %>%
  kable_styling(full_width = FALSE, bootstrap_options = c("striped", "hover", "condensed"))
📆 Distribución Mensual de Casos
MES_HECHO_F Casos
ENERO 26
FEBRERO 15
MARZO 20
ABRIL 24
MAYO 12
JUNIO 14
JULIO 17
AGOSTO 5
SEPTIEMBRE 4
OCTUBRE 9
NOVIEMBRE 9
DICIEMBRE 4
ggplot(Consulta2, aes(x = factor(MES_HECHO_F, levels = MES_HECHO_F), y = Casos)) +
  geom_col(fill = "#c44569", alpha = 0.9) +
  geom_text(aes(label = Casos), vjust = -0.5, size = 4, color = "#8e44ad", fontface = "bold") +
  theme_minimal(base_size = 13) +
  labs(
    title = "Distribución Temporal de Casos por Mes",
    subtitle = "Análisis de estacionalidad en la incidencia",
    x = "Mes del Año",
    y = "Número de Casos",
    caption = "Fuente: BD_CONSOLIDADA.xlsx | SENA TAD-11"
  ) +
  theme(
    plot.title = element_text(face = "bold", size = 16, color = "#c44569"),
    plot.subtitle = element_text(size = 12, color = "#8e44ad"),
    axis.title = element_text(face = "bold"),
    axis.text.x = element_text(angle = 45, hjust = 1),
    panel.grid.major.y = element_line(color = "#ffe4f0"),
    panel.grid.minor = element_blank()
  ) +
  expand_limits(y = max(Consulta2$Casos) * 1.15)

🔍 Análisis de Resultados

Patrón Temporal Identificado: Los meses de mitad de año (junio-septiembre) concentran más del 40% de los casos totales, revelando un patrón estacional significativo en la incidencia.

Este comportamiento temporal sugiere factores estacionales que podrían estar relacionados con dinámicas sociales, económicas o culturales específicas del período. La identificación de estos períodos críticos permite orientar estrategias preventivas en los momentos de mayor riesgo.

👥 Consulta 3: Casos por Grupo de Edad

Consulta3 <- Feminicidios %>%
  filter(!is.na(GRUPO_EDAD_VICTIMA_F)) %>%
  count(GRUPO_EDAD_VICTIMA_F, name = "Casos") %>%
  arrange(desc(Casos))

kable(Consulta3, caption = "👥 Distribución de Casos por Grupo de Edad") %>%
  kable_styling(full_width = FALSE, bootstrap_options = c("striped", "hover", "condensed"))
👥 Distribución de Casos por Grupo de Edad
GRUPO_EDAD_VICTIMA_F Casos
25 a 29 años 27
20 a 24 años 22
30 a 34 años 19
35 a 39 años 18
40 a 44 años 16
45 a 49 años 12
18 a 19 10
60 a 64 años 8
15 a 17 años 6
50 a 54 años 5
55 a 59 años 5
10 a 14 años 4
5 a 9 años 2
75 a 79 años 2
0 a 4 años 1
65 a 69 años 1
70 a 74 años 1
ggplot(Consulta3, aes(x = reorder(GRUPO_EDAD_VICTIMA_F, Casos), y = Casos)) +
  geom_col(fill = "#8e44ad", alpha = 0.9) +
  geom_text(aes(label = Casos), hjust = -0.2, size = 4, color = "#5f27cd", fontface = "bold") +
  coord_flip() +
  theme_minimal(base_size = 13) +
  labs(
    title = "Distribución de Casos por Grupo de Edad",
    subtitle = "Análisis demográfico de las víctimas",
    x = "Grupo de Edad",
    y = "Número de Casos",
    caption = "Fuente: BD_CONSOLIDADA.xlsx | SENA TAD-11"
  ) +
  theme(
    plot.title = element_text(face = "bold", size = 16, color = "#8e44ad"),
    plot.subtitle = element_text(size = 12, color = "#c44569"),
    axis.title = element_text(face = "bold"),
    panel.grid.major.x = element_line(color = "#ffe4f0"),
    panel.grid.minor = element_blank()
  ) +
  expand_limits(y = max(Consulta3$Casos) * 1.15)

🔍 Análisis de Resultados

Concentración Etaria: Los grupos más afectados son jóvenes y adultos jóvenes: 25–29 años (17.0%) y 20–24 años (13.8%), que juntos representan 30.8% del total por grupo de edad.

Las edades entre 30–44 años también muestran alta incidencia, concentrando aproximadamente el 33% de los casos totales. Esto indica que la mayor vulnerabilidad se encuentra en la población económicamente activa entre 20 y 44 años. Hay representación significativa en todas las franjas etarias, incluyendo menores de edad, lo que evidencia la amplitud del problema a través de diferentes grupos demográficos.

🔪 Consulta 4: Casos por Mecanismo Causal

Consulta4 <- Feminicidios %>%
  filter(!is.na(MECANISMO_CASUAL_F)) %>%
  count(MECANISMO_CASUAL_F, name = "Casos") %>%
  arrange(desc(Casos))

kable(Consulta4, caption = "⚔️ Distribución por Mecanismo Causal") %>%
  kable_styling(full_width = FALSE, bootstrap_options = c("striped", "hover", "condensed"))
⚔️ Distribución por Mecanismo Causal
MECANISMO_CASUAL_F Casos
Cortopunzante 56
Generadores de asfixia 37
Proyectil de arma de fuego 35
Cortocontundente 13
Contundente 12
Cortante 2
Térmico 2
Por determinar 1
Punzante 1
ggplot(Consulta4, aes(x = reorder(MECANISMO_CASUAL_F, Casos), y = Casos)) +
  geom_col(fill = "#2ecc71", alpha = 0.85) +
  geom_text(aes(label = Casos), hjust = -0.2, size = 4, color = "#27ae60", fontface = "bold") +
  coord_flip() +
  theme_minimal(base_size = 13) +
  labs(
    title = "Distribución de Casos por Mecanismo Causal",
    subtitle = "Análisis del tipo de violencia empleada",
    x = "Mecanismo Causal",
    y = "Número de Casos",
    caption = "Fuente: BD_CONSOLIDADA.xlsx | SENA TAD-11"
  ) +
  theme(
    plot.title = element_text(face = "bold", size = 16, color = "#27ae60"),
    plot.subtitle = element_text(size = 12, color = "#8e44ad"),
    axis.title = element_text(face = "bold"),
    panel.grid.major.x = element_line(color = "#ffe4f0"),
    panel.grid.minor = element_blank()
  ) +
  expand_limits(y = max(Consulta4$Casos) * 1.15)

🔍 Análisis de Resultados

Patrón de Violencia: Más de la mitad de los hechos violentos fueron cometidos con arma blanca (51.5%), duplicando el uso de armas de fuego (23.4%). Esto evidencia un patrón claro de violencia interpersonal cercana con armas cortopunzantes.

La prevalencia del arma blanca sugiere actos de violencia en contextos de proximidad física, lo que podría estar relacionado con violencia intrafamiliar o de pareja. La diferencia significativa entre los mecanismos causales indica patrones específicos de comportamiento violento que requieren estrategias de prevención diferenciadas.

🔗 Correlación de Pearson

Feminicidios_num <- Feminicidios %>%
  mutate(across(everything(), ~ suppressWarnings(as.numeric(.))))

# Seleccionar solo variables numéricas con datos
numericas_validas <- Feminicidios_num %>%
  select(where(~ is.numeric(.) && sum(!is.na(.)) > 1))

# Validación
if (ncol(numericas_validas) < 2) {
  
  cat("⚠️ No hay suficientes variables numéricas para calcular la correlación de Pearson.\n")
  
} else {
  
  # Matriz de correlación
  Matriz_cor <- cor(numericas_validas, use = "pairwise.complete.obs", method = "pearson")
  
  # Mostrar matriz en formato tabla
  kable(round(Matriz_cor, 3), caption = "📊 Matriz de Correlación de Pearson") %>%
    kable_styling(full_width = FALSE, bootstrap_options = c("striped", "hover", "condensed"))

  # Preparar datos para el heatmap
  Matriz_larga <- melt(Matriz_cor)

  # Heatmap con etiquetas
  ggplot(Matriz_larga, aes(Var1, Var2, fill = value)) +
    geom_tile(color = "white", size = 0.5) +
    geom_text(aes(label = round(value, 2)), size = 3.5, color = "black", fontface = "bold") +
    scale_fill_gradient2(
      low = "#3498db", 
      high = "#e74c3c", 
      mid = "white", 
      midpoint = 0,
      limit = c(-1, 1),
      name = "Correlación\n(r)"
    ) +
    theme_minimal(base_size = 12) +
    labs(
      title = "Matriz de Correlación de Pearson",
      subtitle = "Relaciones lineales entre variables numéricas",
      x = "",
      y = "",
      caption = "Fuente: BD_CONSOLIDADA.xlsx | SENA TAD-11"
    ) +
    theme(
      plot.title = element_text(face = "bold", size = 16, color = "#c44569", hjust = 0.5),
      plot.subtitle = element_text(size = 12, color = "#8e44ad", hjust = 0.5),
      axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1),
      axis.text.y = element_text(angle = 0),
      legend.position = "right",
      panel.grid = element_blank()
    ) +
    coord_fixed()
}

📖 Interpretación de la Correlación de Pearson

Para evaluar la relación lineal entre las variables numéricas seleccionadas, se aplicó el coeficiente de correlación de Pearson. Esta medida estadística toma valores entre -1 y 1, donde:

  1. r = 1: Correlación positiva perfecta (cuando una variable aumenta, la otra también lo hace de manera proporcional)
  2. r = 0: Ausencia de correlación lineal (no existe relación lineal entre las variables)
  3. r = -1: Correlación negativa perfecta (cuando una variable aumenta, la otra disminuye de manera proporcional)
  4. 0 < |r| < 0.3: Correlación débil
  5. 0.3 ≤ |r| < 0.7: Correlación moderada
  6. 0.7 ≤ |r| ≤ 1: Correlación fuerte
Nota Metodológica: Las correlaciones se calcularon utilizando el método de Pearson con eliminación por pares (pairwise.complete.obs), lo que permite aprovechar todos los datos disponibles incluso en presencia de valores faltantes en algunas observaciones.

✅ Conclusión General

Síntesis del Análisis Realizado

El análisis estadístico realizado sobre la base de datos BD_CONSOLIDADA.xlsx ha permitido obtener una comprensión integral del fenómeno estudiado a través de múltiples dimensiones analíticas. Los hallazgos revelan patrones significativos que aportan valor para la toma de decisiones informadas.

  1. Calidad de los Datos: La base de datos demostró poseer información valiosa y estructuras claras que permitieron realizar análisis estadísticos robustos. El proceso de limpieza y depuración de datos contribuyó significativamente a mejorar la precisión y confiabilidad de los resultados obtenidos.
  2. Concentración Geográfica: Se identificó una marcada concentración regional de casos, con Antioquia y Valle del Cauca representando más del 26% del total. Esta distribución geográfica desigual sugiere la necesidad de estrategias focalizadas por región.
  3. Patrones Temporales: El análisis mensual reveló un incremento significativo en los meses de mitad de año (junio-septiembre), concentrando más del 40% de los casos. Este patrón estacional es crucial para la planificación de intervenciones preventivas.
  4. Perfil Demográfico: Las víctimas se concentran principalmente en el rango de edad de 20 a 44 años, con especial incidencia en los grupos de 25-29 años y 20-24 años. Este hallazgo evidencia la vulnerabilidad de la población económicamente activa.
  5. Caracterización de la Violencia: El arma blanca resultó ser el mecanismo causal predominante (51.5%), seguido por armas de fuego (23.4%). Esta diferencia sugiere patrones de violencia interpersonal cercana que requieren abordajes específicos.
  6. Relaciones Estadísticas: La correlación de Pearson permitió identificar relaciones lineales entre variables numéricas, lo que establece bases sólidas para análisis predictivos futuros o el desarrollo de modelos estadísticos más complejos.
  7. Visualización Efectiva: Las representaciones gráficas generadas facilitaron la interpretación de los datos, permitiendo comunicar los hallazgos de manera clara y accesible para diferentes audiencias.

Perspectivas Futuras

Potencial Analítico: Los resultados de este estudio proporcionan una visión amplia del conjunto de datos y establecen bases sólidas para análisis más avanzados, incluyendo modelado estadístico, machine learning o análisis predictivos que permitan anticipar tendencias y apoyar la toma de decisiones fundamentadas.

En conclusión, este análisis cumplió satisfactoriamente con los objetivos planteados, generando conocimiento valioso sobre las características, distribución y patrones presentes en los datos. La metodología aplicada demostró ser efectiva para extraer insights significativos y puede replicarse en futuros estudios con conjuntos de datos similares.

📚 Librerías Utilizadas

Para el desarrollo de este análisis estadístico se utilizaron las siguientes librerías del ecosistema R:

Librerías Principales

  1. readxl: Librería especializada para la importación de archivos de Excel (.xlsx y .xls). Permite leer hojas de cálculo de manera eficiente y mantener la estructura original de los datos.
  2. dplyr: Parte del tidyverse, es fundamental para la manipulación de datos. Proporciona funciones intuitivas para filtrar, seleccionar, agrupar y transformar data frames de manera eficiente.
  3. tidyr: Complementa a dplyr en tareas de limpieza y reorganización de datos. Permite convertir datos entre formatos “wide” y “long”, esencial para análisis tidy.
  4. kableExtra: Extiende las capacidades de kable para crear tablas HTML y LaTeX con formato profesional. Permite personalizar estilos, colores y diseño de tablas.
  5. ggplot2: La librería de visualización más popular de R, basada en la gramática de gráficos. Permite crear visualizaciones complejas y personalizables de alta calidad.
  6. reshape2: Utilizada para transformar datos entre formatos largo y ancho, especialmente útil para preparar matrices de correlación para visualización en heatmaps.

Instalación y Carga

# Instalación (solo primera vez)
install.packages(c("readxl", "dplyr", "tidyr", "kableExtra", "ggplot2", "reshape2"))

# Carga de librerías
library(readxl)
library(dplyr)
library(tidyr)
library(kableExtra)
library(ggplot2)
library(reshape2)
Versiones Recomendadas: Se recomienda mantener actualizadas todas las librerías a sus versiones más recientes para garantizar compatibilidad y acceso a las últimas funcionalidades.

Información del Sistema

# Información de la sesión R
sessionInfo()

# Versiones de paquetes específicos
packageVersion("ggplot2")
packageVersion("dplyr")

📊 SENA Colombo Alemán TIC

Programa de Formación TAD-11

Análisis Estadístico con R

```