Delitos en Colombia.

Introducción

En este taller, se presentan dos estudios enfocados en problemáticas clave a nivel nacional. Por un lado, se realiza un análisis exploratorio de los delitos en Colombia, con énfasis en los siguientes aspectos:

  1. Relación entre homicidios y robos.
  2. Análisis temático de los delitos por municipio.
  3. Patrones específicos en Bogotá:
    • Tipos de armas utilizadas.
    • Distribución de víctimas por género y tipo de delito.

Por otro lado, el segundo ejercicio aborda el estudio de las cadenas productivas rurales, evaluando su estructura y distribución geográfica con un enfoque estadístico.

Objetivos

  1. Identificar patrones y correlaciones en las bases de datos de delitos.
  2. Caracterizar los delitos a nivel municipal y en Bogotá.
  3. Analizar la dinámica de las cadenas productivas rurales en el país.

Contexto: En Colombia hay bastante inquietud por la cantidad de robos que se presentan diariamente. Los celulares, motocicletas y bicicletas han sido los elementos más ansiados por los delincuentes en nuestro país, mientras que los carros y el robo de billeteras vienen a la baja. La cantidad total de robos en el país es una incógnita, ya que no siempre se reporta este delito en los entes de control. Por otro lado, la cantidad de homicidios en cada municipio del país si se reporta diariamente y se reporta ante las autoridades competentes. Se sospecha que estas dos variables, por municipio, están altamente correlacionadas.

paquetes <- c("ggplot2", "tidyr", "readr", "dplyr", "corrplot", "Rcmdr", "knitr")

paquetes_instalados <- paquetes %in% installed.packages()[, "Package"]
if (any(!paquetes_instalados)) {
  install.packages(paquetes[!paquetes_instalados], dependencies = TRUE, repos = "http://cran.r-project.org")
}

Se obtiene una base de datos por municipios, que contiene la cantidad de delitos por temática, porcentaje de mujeres víctimas y porcentaje de delitos en zonas rural.

# Filtrar columnas relevantes
delitos2 <- delitos %>%
  select(MUNICIPIO, TEMATICA, SEXO, ZONA) %>%
  mutate(
    cuenta_delito = 1,                          # Se crea una columna para contar cada delito
    total_femenino = SEXO == "FEMENINO",        # Indicar si el delito involucra o no a una mujer
    total_zonarural = ZONA == "RURAL"           # Indicar si el delito ocurrió en una zona rural
  ) %>%
  group_by(MUNICIPIO, TEMATICA) %>%             # Se agrupa por municipio y temática
  summarise(
    total_delitos = sum(cuenta_delito, na.rm = TRUE),                         # Total de delitos por grupo
    mujeres_porcentaje = round(mean(total_femenino, na.rm = TRUE) * 100, 2),  # Porcentaje de mujeres
    rural_porcentaje = round(mean(total_zonarural, na.rm = TRUE) * 100, 2),   # Porcentaje en zona rural
    .groups = "drop"                                                          # Eliminar agrupación al final
  )
library(knitr)
top10_delitos <- delitos2 |>
  arrange(desc(total_delitos)) |>
  slice_max(total_delitos, n = 10)

top10_delitos
## # A tibble: 10 × 5
##    MUNICIPIO          TEMATICA total_delitos mujeres_porcentaje rural_porcentaje
##    <chr>              <chr>            <dbl>              <dbl>            <dbl>
##  1 BOGOTÁ D.C. (CT)   HURTO A…         53410               33.8             0.13
##  2 BOGOTÁ D.C. (CT)   LESIONE…         20123               40.9             0.17
##  3 CALI (CT)          HURTO A…         19489               37.1             0.99
##  4 BOGOTÁ D.C. (CT)   HURTO A…         12178               47.8             0.2 
##  5 BARRANQUILLA (CT)  HURTO A…         11299               31.2             0.07
##  6 MEDELLÍN (CT)      HURTO A…          9930               39               0.61
##  7 CALI (CT)          LESIONE…          9538               43.2             2.35
##  8 BUCARAMANGA (CT)   HURTO A…          7550               41.4             0.4 
##  9 BOGOTÁ D.C. (CT)   VIOLENC…          7492               83.0             0.19
## 10 VILLAVICENCIO (CT) HURTO A…          6434               45.3             2.84

Municipios con mayor cantidad de delitos reportados:

  • BOGOTÁ D.C.: Es el municipio con más delitos reportados, liderando en “Hurto a personas” (53,410 casos) y otros delitos como “Lesiones personales” y “Hurto a residencias”.
  • CALI: “Hurto a personas” (19,489 casos) y “Lesiones personales”.
  • BARRANQUILLA: Destaca con 11,299 casos de “Hurto a personas”.
  • MEDELLÍN: Reporta 9,930 casos de “Hurto a personas”.

Porcentaje de mujeres involucradas:

Los casos de violencia intrafamiliar en Bogotá D.C. tienen el mayor porcentaje de mujeres (82.98%). Otros delitos, como “Lesiones personales” en Cali (43.23%) y “Hurto a residencias” en Bogotá D.C. (47.85%), también tienen una alta proporción de mujeres.

Porcentaje de delitos en zonas rurales:

Villavicencio (CT) tiene el mayor porcentaje de delitos en zonas rurales (2.84%), seguido por Cali (CT) en “Lesiones personales” (2.35%).Mientras qué, Bogotá D.C. tiene porcentajes muy bajos en zonas rurales, como “Hurto a personas” (0.13%).

Delitos más comunes:

El Hurto a personas es el delito más frecuente en todos los municipios, encabezado por Bogotá D.C. y seguido por Cali y Barranquilla. Se evidencia que, Bogotá D.C. concentra la mayoría de los delitos reportados, con alta participación de mujeres en ciertos delitos. Los delitos en municipios como Villavicencio y Cali muestran una mayor incidencia en áreas rurales.

Surge la siguiente pregunta: ¿La cantidad de homicidios tiene una correlación alta con la cantidad de robos?

library(dplyr)

# 1. Filtrar y agrupar robos
robos <- delitos |>
  filter(TEMATICA %in% c("HURTO A PERSONAS", "HURTO A RESIDENCIAS")) |>
  mutate(cuenta_delito = 1) |>
  group_by(MUNICIPIO) |>
  summarise(
    total_robos = sum(cuenta_delito, na.rm = TRUE),
    .groups = "drop"
  )

# 2. Filtrar y agrupar homicidios
homicidios <- delitos |>
  filter(TEMATICA == "HOMICIDIOS") |>
  mutate(cuenta_delitos = 1) |>
  group_by(MUNICIPIO) |>
  summarise(
    total_homicidios = sum(cuenta_delitos, na.rm = TRUE),
    .groups = "drop"
  )

# 3. Combinar los datos de robos y homicidios usando Merge o Fulljoin
datos_combinados <- robos |>
  full_join(homicidios, by = "MUNICIPIO")

# 4. Calcular la correlación
correlacion <- datos_combinados |>
  summarise(correlacion = cor(total_homicidios, total_robos, use = "complete.obs")) |>
  pull(correlacion)

print(paste("Existe una correlación entre homicidios y robos de:", round(correlacion, 2)))
## [1] "Existe una correlación entre homicidios y robos de: 0.84"

El valor de la correlación 0.84 muestra una relación positiva fuerte entre homicidios y robos a nivel municipal en los datos analizados. Esto sugiere que en los municipios donde ocurren más homicidios, también tiende a haber un mayor número de robos (o viceversa).Es probable que existan factores compartidos que impulsen tanto los robos como los homicidios.Además, los Municipios con alta densidad poblacional o mayor actividad económica, pueden registrar mayores tasas de ambos tipos de delitos.Aunque existe una correlación, esto no implica causalidad.

A continuación, se realiza un diagrama de barras de los diez municipios con mayor cantidad de delitos por temática.

library(dplyr)
library(ggplot2)

# Calculo de los 10 municipios con mayor cantidad de delitos
top10_delitos_municipios <- delitos |>
  mutate(cuenta_delito = 1) |>  # cuenta de delitos
  group_by(MUNICIPIO) |>       # Agrupar por municipio
  summarise(
    total_delitos_muni = sum(cuenta_delito, na.rm = TRUE),  # Calcular el total de delitos
    .groups = "drop"
  ) |>
  arrange(desc(total_delitos_muni)) |>  # Ordenar de mayor a menor por cantidad de delitos
  slice_head(n = 10)               # Seleccionar los 10 primeros municipios

# Crear el gráfico de barras con etiquetas de valor
ggplot(top10_delitos_municipios, aes(x = total_delitos_muni, y = reorder(MUNICIPIO, total_delitos_muni))) +
  geom_bar(stat = "identity", fill = "lightgreen") +
  geom_text(aes(label = total_delitos_muni), hjust = -0.2, size = 3.5) +
  labs(
    title = "Top 10 - Cantidad de delitos por municipio",
    x = "Cantidad de Delitos",
    y = "Municipios / Ciudades"
  ) +
  theme_classic() +
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  coord_cartesian(xlim = c(0, max(top10_delitos_municipios$total_delitos_muni) * 1.1)) 

  • Los municipios que presentan más delitos, son: Bogotá D.C, Cali y Barranquilla.

El top 10 de delitos reportado por municipio y temática se obtiene:

library(dplyr)
library(ggplot2)

# Filtrar los delitos por los municipios:
filtro_delitos <- delitos |>
  filter(MUNICIPIO %in% top10_delitos_municipios$MUNICIPIO)

# Calcular la cantidad total de delitos por municipio y temática
delitos_municipios_tematica <- 
  filtro_delitos |>
  mutate(total_delitos = 1) |>
  group_by(MUNICIPIO, TEMATICA) |>
  summarise(total_delitos = sum(total_delitos, na.rm = TRUE), .groups = "drop")

# Ordenar por la cantidad total de delitos
delitos_mun_tematica <- delitos_municipios_tematica |>
  arrange(desc(total_delitos))

# Graficar el gráfico apilado
ggplot(delitos_municipios_tematica, aes(x = total_delitos, y = reorder(MUNICIPIO, total_delitos), 
                                fill = TEMATICA)) +
  geom_bar(stat = "identity", position = "stack") +
  labs(
    title = "Top 10 - Delitos por Municipio y Temática",
    x = "Cantidad de Delitos",
    y = "Municipio/Ciudad",
    fill = "Tipos de Delitos"
  ) +
  theme_classic() +
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  scale_fill_brewer(palette = "Set3")  

Histogramas de la razón de homicidios de hombres sobre homicidios de mujeres.

Se realiza un histogra de la razón de homicidios de hombres sobre homicidios de mujer, lo cual indica:

Se evidencian los siguientes datos:

El arma más común reportada como utilizada en homicidios contra mujeres y hombres es un arma de fuego, siendo el arma de fuego, lamás común entre los hombres.Por otro lado, las armas menos comunes son las minas antipersona, cuerdas/lazo/cadenas y los artefactos explosivos/dinamita.

La proporción de delitos cometidos en Bogotá es la más evidente, aquí se muestra por cada tipo de arma empleada:

bogota <- delitos |>
  mutate(
    MUNICIPIO = ifelse(MUNICIPIO == "BOGOTÁ D.C. (CT)", "BOGOTA", MUNICIPIO),
    SEXO = recode(SEXO, "NO REPORTA" = "NO_REPORTADO", "NO REPORTADA" = "NO_REPORTADO", "NO REPORTADO" = "NO_REPORTADO", "-" = "NO_REPORTADO"),
    EDAD = replace(EDAD, EDAD %in% c("NO REPORTADO", "NO REPORTADA", "NO REPORTADO1", "-"), NA),
    EDAD = as.numeric(EDAD)
  ) |>
  filter(MUNICIPIO == "BOGOTA") |>
  mutate(cuenta_delito = 1)
bogota <- bogota |>
  mutate(
    # Reclasificación para arma blanca
    ARMA_EMPLEADA = replace(
      ARMA_EMPLEADA,
      ARMA_EMPLEADA %in% c("ARMA BLANCA", 
                           "ARMA BLANCA / CORTOPUNZANTE", "ARMAS BLANCAS", "CONTUNDENTES",
                           "CORTANTES", "CORTOPUNZANTES", "CUCHILLA", 
                           "JERINGA", "PUNZANTES", "LLAVE MAESTRA"),
      "Arma_Blanca"),

    # Reclasificación para arma de fuego
    ARMA_EMPLEADA = replace(
      ARMA_EMPLEADA,
      ARMA_EMPLEADA %in% c("ARMA DE FUEGO", 
                           "ARTEFACTO EXPLOSIVO/CARGA DINAMITA", "CARRO BOMBA",
                           "COMBUSTIBLE", "GASOLINA", "GRANADA DE MANO", "PAPA EXPLOSIVA", 
                           "POLVORA(FUEGOS PIROTECNICOS)"),
      "Arma_De_Fuego"),

    # Reclasificación para sin empleo de armas
    ARMA_EMPLEADA = replace(
      ARMA_EMPLEADA,
      ARMA_EMPLEADA %in% c("CARTA EXTORSIVA", "LLAMADA TELEFONICA", "MOTO", 
                           "REDES SOCIALES", "SIN EMPLEO DE ARMAS", 
                           "SUSTANCIAS TOXICAS", "BICICLETA", "VEHICULO", "PERRO"),
      "Sin_Empleo_Armas"),

    # Reclasificación para otras armas
    ARMA_EMPLEADA = replace(
      ARMA_EMPLEADA,
      ARMA_EMPLEADA %in% c("ACIDO", "AGUA CALIENTE", "ESCOPOLAMINA", "GASES", 
                           "QUIMICOS", "VENENO", "CINTAS/CINTURON", "CUERDA/SOGA/CADENA", 
                           "DIRECTA", "MIXTA", "NO REPORTADO", "NO REPORTADA", "-"),
      "Otra")
  )

Se calcula la proporción de delitos cometidos en Bogotá, por cada tipo de arma empleada, de lo cual se obtiene:

library(dplyr)
library(knitr)

# Proporciones de delitos por tipo de arma
proporciones_bog <- bogota |>
  group_by(ARMA_EMPLEADA) |>
  summarise(
    total_delitos = sum(cuenta_delito, na.rm = TRUE),
    .groups = "drop"
  ) |>
  mutate(proporcion = round(total_delitos / sum(total_delitos) * 100, 2)) 

# Asignar nombres de las columnas
colnames(proporciones_bog) <- c("Arma Empleada", "Total de Delitos", "Porcentaje")

# Mostrar la tabla
kable(proporciones_bog, format = "html", caption = "Proporción de Delitos por Tipo de Arma Empleada en Bogotá")
Proporción de Delitos por Tipo de Arma Empleada en Bogotá
Arma Empleada Total de Delitos Porcentaje
Arma_Blanca 53112 50.84
Arma_De_Fuego 11895 11.39
Otra 2979 2.85
Sin_Empleo_Armas 36479 34.92

Arma Empleada:

  • Arma Blanca: Representa el 50.84% del total de los delitos reportados, con 53,112 incidentes.
  • Arma de Fuego: Con un total de 11,895 delitos, representa el 11.39% del total.
  • Otra: Representa el 2.85% del total, con 2,979 delitos.
  • Sin Empleo de Armas: Con 36,479 delitos, esta categoría constituye el 34.92% del total de los delitos reportados.

Se muestra una tabla cruzada que contempla las variables sexo y el tipo de delito, para responder a la siguiente pregunta: ¿Cuál es la proporción de víctimas por tipo para cada sexo?

Proporción de delitos por tipo de arma y cantidad de víctimas
Sexo Arma Empleada Total de Víctimas Porcentaje
FEMENINO Arma_Blanca 23437 52.79
FEMENINO Arma_De_Fuego 2265 5.10
FEMENINO Otra 1799 4.05
FEMENINO Sin_Empleo_Armas 16895 38.06
MASCULINO Arma_Blanca 29664 49.45
MASCULINO Arma_De_Fuego 9612 16.02
MASCULINO Otra 1168 1.95
MASCULINO Sin_Empleo_Armas 19542 32.58
NO_REPORTADO Arma_Blanca 11 13.25
NO_REPORTADO Arma_De_Fuego 18 21.69
NO_REPORTADO Otra 12 14.46
NO_REPORTADO Sin_Empleo_Armas 42 50.60

Delitos contra el sexo “Femenino”:

  • Arma Blanca: 23,437 víctimas, representando el 52.79% del total.
  • Arma de Fuego: 2,265 víctimas, con un 5.10% del total.
  • Otra: 1,799 víctimas, un 4.05% del total.
  • Sin Empleo de Armas: 16,895 víctimas, constituyendo el 38.06% del total.

Delitos contra el sexo “Masculino”:

  • Arma Blanca: 29,664 víctimas, representando el 49.45% del total.
  • Arma de Fuego: 9,612 víctimas, con un 16.02% del total.
  • Otra: 1,168 víctimas, un 1.95% del total.
  • Sin Empleo de Armas: 19,542 víctimas, constituyendo el 32.58% del total.

Información No Reportada:

  • Arma Blanca: 11 víctimas, representando el 13.25% del total.
  • Arma de Fuego: 18 víctimas, con un 21.69% del total.
  • Otra: 12 víctimas, un 14.46% del total.
  • Sin Empleo de Armas: 42 víctimas, constituyendo el 50.60% del total.

Para ambos sexos, femenino y masculino, el arma blanca es el tipo de arma más comúnmente empleada en los delitos, siendo responsable del 52.79% y 49.45% de las víctimas, respectivamente. En ambos géneros, sin empleo de armas tiene una proporción significativa, especialmente para las mujeres (38.06%) y hombres (32.58%).

En la categoría de no reportado, la mayoría de las víctimas no tienen un arma especificada, con el 50.60% de las víctimas en esa categoría sin empleo de armas.

Se realizan diagramas de caja donde se evidenca la comparación de la distribución de las edades y el tipo de arma empleada en los delitos.

La mayor parte de los delitos cometidos con esta arma afectaron a personas de entre 25 y 50 años. La mediana de las edades se aproxima a los 35 años. Sin embargo, también se registran víctimas mayores de 75 años, lo cual señala la presencia de valores atípicos.

#arma fuego
datos_arma_fuego <- bogota |>
  filter(ARMA_EMPLEADA == "Sin_Empleo_Armas", !is.na(EDAD))

ggplot(datos_arma_fuego, aes(x = ARMA_EMPLEADA, y = EDAD, fill = ARMA_EMPLEADA)) +
  geom_boxplot(outlier.color = "green", outlier.size = 2, alpha = 0.8, color = "black") +
  scale_fill_manual(values = c("lightgreen")) +
  labs(
    title = "Distribución por edad cuando no se usaron armas de fuego",
    x = "Armas empleadas en los homicidios",
    y = "Edad"
  ) +
  theme_classic() +
  theme(
    legend.position = "none",
    axis.text.x = element_text(angle = 0, hjust = 0.5, size = 10, face = "bold"),
    axis.text.y = element_text(size = 10, face = "bold"),
    plot.title = element_text(hjust = 0.5, size = 10, face = "bold"),
    axis.title.x = element_text(size = 10, face = "bold"),
    axis.title.y = element_text(size = 10, face = "bold")
  )

La mayor parte de los delitos donde no se usó ningún armaarma afectaron a personas de entre 25 y 50 años al igual que cuando se usaron armas de fuego. La mediana de las edades se aproxima a los 35 años. Sin embargo, también se registran víctimas mayores de 75 años, lo cual señala la presencia de valores atípicos.

Cadena productiva rural.

La generación y consolidación de ventajas competitivas al interior de una empresa guarda una estrecha relación con las condiciones de su entorno. Tales condiciones resultan importantes no sólo para la generación de valor en el nivel individual de la firma, sino también inciden en los procesos de generación de riqueza de sociedades enteras. El concepto de cadena productiva ofrece un marco conceptual útil para la articulación de diferentes unidades empresariales de cara al proceso de generación de valor y el papel que cumple cada una de las empresas que intervienen en el mismo. Para este estudio, trabajaremos con la cadena productiva rural.

Se obtuvo una base de datos por municipios que discrimina la producción, en términos de área sembrada y cosechada, por grupos de cultivos para los años 2007-2015.

library(readxl)
library(dplyr)
library(ggplot2)

setwd("~/Library/Mobile Documents/com~apple~CloudDocs/MINE/2 Semestre/Aprendizaje estadístico/Taller_1")
delitos <- read_csv("Delitos en Colombia.csv")
cadena_prod <- read_excel("Cadena_Productiva.xlsx", sheet = "in")
cultivos_ilicitos <- read_excel("CultivosIlicitos2015-2019.xlsx")

filtro_cadena1 <- cadena_prod |>
  filter(PERIODO2 >= 2007 & PERIODO2 <= 2015)

municipios <- filtro_cadena1 |>
  group_by(`Codigo de Municipio`, MUNICIPIO, `GRUPO DE CULTIVO`, PERIODO2) |>
  summarise(
    Area_Sembrada = sum(`Area Sembrada(ha)`, na.rm = TRUE),
    Area_Cosechada = sum(`Area Cosechada(ha)`, na.rm = TRUE),
    Produccion = sum(Produccion, na.rm = TRUE),
    .groups = "drop"
  ) |>
  rename(
    Año = PERIODO2,
    COD_Municipio = `Codigo de Municipio`,
    Grupo_Cultivos = `GRUPO DE CULTIVO`
  ); 

municipios
## # A tibble: 29,052 × 7
##    COD_Municipio MUNICIPIO Grupo_Cultivos      Año Area_Sembrada Area_Cosechada
##            <dbl> <chr>     <chr>             <dbl>         <dbl>          <dbl>
##  1          5001 MEDELLIN  FRUTALES           2007            10              0
##  2          5001 MEDELLIN  FRUTALES           2008            10              0
##  3          5001 MEDELLIN  FRUTALES           2009            12              6
##  4          5001 MEDELLIN  FRUTALES           2010            16             10
##  5          5001 MEDELLIN  FRUTALES           2011            19             16
##  6          5001 MEDELLIN  FRUTALES           2012            23             19
##  7          5001 MEDELLIN  FRUTALES           2013            23             19
##  8          5001 MEDELLIN  FRUTALES           2014            28             23
##  9          5001 MEDELLIN  FRUTALES           2015            28             25
## 10          5001 MEDELLIN  OTROS PERMANENTES  2007          1078           1027
## # ℹ 29,042 more rows
## # ℹ 1 more variable: Produccion <dbl>

La base resultante proporciona un resumen de la producción por cultivo en cada municipio. No obstante, para analizar la evolución general de la producción de cada cultivo, calcularemos el promedio de producción para cada municipio según el tipo de cultivo.

head(promedios)
## # A tibble: 6 × 5
##     Año Grupo_Cultivos        ProduccionPromedio AreaSembradaPromedio
##   <dbl> <chr>                              <dbl>                <dbl>
## 1  2007 CEREALES                           3812.                1101.
## 2  2007 FRUTALES                           6231.                 303.
## 3  2007 LEGUMINOSAS                        1338.                 656.
## 4  2007 OTROS PERMANENTES                  1221.                1379.
## 5  2007 TUBERCULOS Y PLATANOS              7332.                 752.
## 6  2008 CEREALES                           4221.                1184.
## # ℹ 1 more variable: AreaCosechadaPromedio <dbl>
promedio_produccion_anual <- municipios |>
  group_by(Grupo_Cultivos) |>
  summarise(
    ProduccionPromedio = mean(Produccion, na.rm = TRUE),
    .groups = "drop"
  ) |>
  arrange( desc(ProduccionPromedio)) |>
  mutate(
    Porcentaje = round((ProduccionPromedio / sum(ProduccionPromedio)) * 100, 2)
  ) |>
  ungroup()

head(promedio_produccion_anual)
## # A tibble: 5 × 3
##   Grupo_Cultivos        ProduccionPromedio Porcentaje
##   <chr>                              <dbl>      <dbl>
## 1 TUBERCULOS Y PLATANOS              7673.       37.6
## 2 FRUTALES                           5449.       26.7
## 3 CEREALES                           3650.       17.9
## 4 LEGUMINOSAS                        2580.       12.6
## 5 OTROS PERMANENTES                  1061.        5.2

Producción promedio más alta:

El grupo de cultivos “TUBÉRCULOS Y PLÁTANOS” lidera con una producción promedio de 7,672.93 toneladas, representando el 37.59% del total.

Segundo lugar:

“FRUTALES” ocupa el segundo lugar con una producción promedio de 5,448.90 toneladas, equivalente al 26.69% del total.

Contribuciones intermedias:

“CEREALES” tiene un promedio de 3,650.19 toneladas, lo que equivale al 17.88%. “LEGUMINOSAS” alcanza 2,580.43 toneladas, representando el 12.64%. Contribución más baja: El grupo “OTROS PERMANENTES” aporta la menor producción promedio con 1,060.57 toneladas, equivalente al 5.20% del total.

La mayor parte de la producción promedio está concentrada en dos categorías principales: “TUBÉRCULOS Y PLÁTANOS” y “FRUTALES”, que juntas suman aproximadamente el 64% de la producción total. Por otro lado, “OTROS PERMANENTES” tiene una contribución significativamente menor, sugiriendo que estos cultivos son menos prevalentes o menos productivos en comparación con los demás grupos.

library(tidyr)


setwd("~/Library/Mobile Documents/com~apple~CloudDocs/MINE/2 Semestre/Aprendizaje estadístico/Taller_1")
delitos <- read_csv("Delitos en Colombia.csv")
## Rows: 569127 Columns: 20
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (18): TEMÁTICA, FECHA, DEPARTAMENTO, MUNICIPIO, DIA, BARRIO, ZONA, CLAS...
## dbl   (1): CODIGO DANE
## time  (1): HORA
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
cadena_productiva <- read_excel("Cadena_Productiva.xlsx", sheet = "in")
cultivos_ilicitos <- read_excel("CultivosIlicitos2015-2019.xlsx")

base_cruzada <- cadena_productiva |>
  filter(PERIODO2 >= 2007 & PERIODO2 <= 2015) |>
  group_by(CODMPIO = as.character(`Codigo de Municipio`), MUNICIPIO, PERIODO2) |>
  summarise(
    Total_Area_Sembrada = sum(`Area Sembrada(ha)`, na.rm = TRUE),
    Total_Area_Cosechada = sum(`Area Cosechada(ha)`, na.rm = TRUE),
    Produccion = sum(Produccion, na.rm = TRUE),
    .groups = "drop"
  ) |>
  filter(PERIODO2 == 2015) |>
  group_by(CODMPIO, MUNICIPIO) |>
  summarise(
    Total_Cultivos_Licitos = sum(Total_Area_Sembrada + Total_Area_Cosechada, na.rm = TRUE),
    .groups = "drop"
  ) |>
  left_join(
    cultivos_ilicitos |>
      rename(Total_Cultivos_Ilicitos = `2015`) |>
      mutate(CODMPIO = as.character(CODMPIO)) |>
      select(CODMPIO, Total_Cultivos_Ilicitos),
    by = "CODMPIO"
  ) |>
  mutate(
    Total_Cultivos_Ilicitos = if_else(is.na(Total_Cultivos_Ilicitos), 0, Total_Cultivos_Ilicitos),
    Pr_Cultivos_Ilicitos = (Total_Cultivos_Ilicitos / 
                            (Total_Cultivos_Ilicitos + Total_Cultivos_Licitos)) * 100
  ) |>
  arrange(desc(Pr_Cultivos_Ilicitos))

top20_municipios <- base_cruzada |> slice_head(n = 20)

grafico_apilado <- top20_municipios |>
  mutate(
    Pr_Cultivos_Licitos = 100 - Pr_Cultivos_Ilicitos
  ) |>
  pivot_longer(
    cols = c(Pr_Cultivos_Ilicitos, Pr_Cultivos_Licitos),
    names_to = "Tipo",
    values_to = "Porcentaje"
  )

# Gráfico de barras apiladas
ggplot(grafico_apilado, aes(x = reorder(MUNICIPIO, Porcentaje), y = Porcentaje, fill = Tipo)) +
  geom_bar(stat = "identity") +
  coord_flip() +
  scale_fill_manual(
    values = c("Pr_Cultivos_Ilicitos" = "orange", "Pr_Cultivos_Licitos" = "lightgreen"),
    labels = c("Cultivos Ilícitos", "Cultivos Lícitos")
  ) +
  labs(
    title = "Municipios con Proporción de Cultivos Ilícitos y Lícitos",
    x = "Municipio",
    y = "Porcentaje",
    fill = "Tipo de Cultivo"
  ) +
  theme_classic() +
  theme(
    plot.title = element_text(size = 14, face = "bold", hjust = 0.5),
    axis.title.x = element_text(size = 12),
    axis.title.y = element_text(size = 12),
    legend.position = "bottom"
  )

library(readxl)
library(dplyr)
library(ggplot2)

# Obtener el top 20 y graficar
ggplot(base_cruzada |> slice_head(n = 20), aes(x = reorder(MUNICIPIO, Pr_Cultivos_Ilicitos), y = Pr_Cultivos_Ilicitos)) +
  geom_bar(stat = "identity", fill = "darkblue") +
  geom_text(aes(label = round(Pr_Cultivos_Ilicitos, 1)), hjust = -0.1, color = "black", size = 3) +
  coord_flip() +
  labs(
    title = "Top 20 Municipios con más participación de Cultivos Ilícitos (2015)",
    x = "Municipio",
    y = "Porcentaje de Cultivos Ilícitos"
  ) +
  theme_classic()

Este análisis ofrece una perspectiva amplia sobre la evolución de la producción de cultivos lícitos en las cadenas productivas rurales y la prevalencia de cultivos ilícitos en diversos municipios colombianos entre 2007 y 2015. La alta proporción de cultivos ilícitos en algunas zonas refleja profundas desigualdades en el acceso a oportunidades económicas, lo que contribuye al fortalecimiento de redes de crimen organizado y afecta la seguridad local, dado que la presencia de cultivos ilícitos en ciertos municipios refleja la posible influencia de grupos ilegales en estas regiones y la falta de alternativas económicas sostenibles para los agricultores.

Los elevados porcentajes de estos cultivos pueden generar efectos significativos en la economía local y en la seguridad, del mismo modo, los resultados de este estudio destacan la necesidad de estrategias integrales de desarrollo rural, ya que la ausencia de apoyo gubernamental adecuado podría estar empujando a los agricultores hacia estas prácticas. Este panorama subraya la importancia de formular políticas públicas efectivas, donde los esfuerzos de erradicación se acompañen de programas de sustitución de cultivos y desarrollo rural para garantizar su sostenibilidad a largo plazo.