Tarea A14: Top 5 Socios Comerciales de El Salvador (2022-2026)

Métodos para el Análisis Económico

library(readr)
library(dplyr)
library(tidyr)
library(stringr)
library(readxl)
library(kableExtra)

Rutas de trabajo

# Carpeta base del proyecto (donde tienes todo lo de "comercio exter")
directorio_base <- "C:/Users/gisel/Downloads/comercio exter"

ruta_importaciones <- file.path(directorio_base, "importaciones")
ruta_exportaciones <- file.path(directorio_base, "exportaciones")
ruta_rdata         <- file.path(directorio_base, "data_comercio_exterior.RData")
ruta_iso_paises    <- file.path(directorio_base, "nombres_iso_paises.xlsx")
ruta_funciones     <- file.path(directorio_base, "funciones_comercio_exterior_.R")

1. Base de datos de Comercio Exterior sin estandarizar

if (file.exists(ruta_rdata)) {

  load(ruta_rdata)

} else {

  ## Lectura de importaciones
  archivos_importar <- list.files(ruta_importaciones, full.names = TRUE)

  lista_importacion <- lapply(
    archivos_importar,
    FUN = read_delim,
    delim = "|",
    col_names = c("pais", "sac", "anio", "mes", "valor_cif", "kilogramos"),
    col_types = cols(
      pais       = "c",
      sac        = "c",
      anio       = "d",
      mes        = "d",
      valor_cif  = "d",
      kilogramos = "d"
    ),
    skip = 1
  )

  data_importaciones <- bind_rows(lista_importacion)

  ## Lectura de exportaciones
  archivos_exportar <- list.files(ruta_exportaciones, full.names = TRUE)

  lista_exportacion <- lapply(
    archivos_exportar,
    FUN = read_delim,
    delim = "|",
    col_names = c("pais", "sac", "anio", "mes", "valor_fob", "kilogramos"),
    col_types = cols(
      pais       = "c",
      sac        = "c",
      anio       = "d",
      mes        = "d",
      valor_fob  = "d",
      kilogramos = "d"
    ),
    skip = 1
  )

  data_exportaciones <- bind_rows(lista_exportacion)

  ## Integración de importaciones y exportaciones
  data_comercio_exterior <- data_importaciones %>%
    full_join(
      data_exportaciones,
      by = c("pais", "sac", "anio", "mes"),
      suffix = c("_importaciones", "_exportaciones")
    ) %>%
    replace_na(
      list(
        valor_cif = 0,
        valor_fob = 0,
        kilogramos_importaciones = 0,
        kilogramos_exportaciones = 0
      )
    ) %>%
    arrange(pais, anio, mes, sac)

  save(data_comercio_exterior, file = ruta_rdata)
}

# Filtro al periodo 2022-2026
data_comercio_exterior <- data_comercio_exterior %>%
  filter(anio >= 2022, anio <= 2026)

Tabla 1. Base de Comercio Exterior de El Salvador, sin nombres ISO (primeros 10 casos):

data_comercio_exterior %>%
  head(10) %>%
  kable(
    format = "html",
    caption = "El Salvador: Base de Comercio Exterior (2022-2026), sin estandarizar",
    align = "c"
  ) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed", "responsive"),
    full_width = TRUE,
    position = "center"
  ) %>%
  add_footnote(
    label = "Fuente: Elaboración propia con base en datos del Banco Central de Reserva (BCR)",
    notation = "symbol"
  )
El Salvador: Base de Comercio Exterior (2022-2026), sin estandarizar
pais sac anio mes valor_cif kilogramos_importaciones valor_fob kilogramos_exportaciones
AFGANISTAN 8708990000 2022 2 220.50 0.29 0 0
AFGANISTAN 8471900000 2022 5 665.90 4.00 0 0
AFGANISTAN 5702310000 2022 6 913.74 22.02 0 0
AFGANISTAN 5702502000 2022 6 566.35 11.36 0 0
AFGANISTAN 6111200000 2022 8 213.69 1.56 0 0
AFGANISTAN 8536509000 2022 9 42.28 2.00 0 0
AFGANISTAN 6210400000 2023 7 204.75 0.10 0 0
AFGANISTAN 0901210000 2024 4 0.00 0.00 440 21
AFGANISTAN 4909000000 2024 4 0.07 0.15 0 0
AFGANISTAN 8473300000 2024 6 60.18 1.00 0 0
* Fuente: Elaboración propia con base en datos del Banco Central de Reserva (BCR)

2. Estandarización de la información de países

if (!exists("ruta_iso_paises_elegida")) {
  ruta_iso_paises_elegida <- file.choose()
}

nombres_iso_paises <- read_excel(ruta_iso_paises_elegida, sheet = "nombres_iso_paises") %>%
  select(nom_pais_esp, iso_3)

nombres_iso_paises$nom_pais_esp <- toupper(nombres_iso_paises$nom_pais_esp)

data_comercio_exterior <- data_comercio_exterior %>%
  mutate(pais = toupper(pais)) %>%
  left_join(nombres_iso_paises, by = c("pais" = "nom_pais_esp"))

Tabla 2. Base de Comercio Exterior con información estandarizada de países, primeros 10 casos:

data_comercio_exterior %>%
  head(10) %>%
  kable(
    format = "html",
    caption = "El Salvador: Base de Comercio Exterior (2022-2026), con catálogo de países",
    align = "c"
  ) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed", "responsive"),
    full_width = TRUE,
    position = "center"
  ) %>%
  add_footnote(
    label = "Fuente: Elaboración propia con base en datos del BCR",
    notation = "symbol"
  )
El Salvador: Base de Comercio Exterior (2022-2026), con catálogo de países
pais sac anio mes valor_cif kilogramos_importaciones valor_fob kilogramos_exportaciones iso_3
AFGANISTAN 8708990000 2022 2 220.50 0.29 0 0 AFG
AFGANISTAN 8471900000 2022 5 665.90 4.00 0 0 AFG
AFGANISTAN 5702310000 2022 6 913.74 22.02 0 0 AFG
AFGANISTAN 5702502000 2022 6 566.35 11.36 0 0 AFG
AFGANISTAN 6111200000 2022 8 213.69 1.56 0 0 AFG
AFGANISTAN 8536509000 2022 9 42.28 2.00 0 0 AFG
AFGANISTAN 6210400000 2023 7 204.75 0.10 0 0 AFG
AFGANISTAN 0901210000 2024 4 0.00 0.00 440 21 AFG
AFGANISTAN 4909000000 2024 4 0.07 0.15 0 0 AFG
AFGANISTAN 8473300000 2024 6 60.18 1.00 0 0 AFG
* Fuente: Elaboración propia con base en datos del BCR

3. Top 5 Socios Comerciales, 2022-2026

Se calcula, para cada año, el porcentaje que representan las exportaciones hacia cada país sobre el total exportado por El Salvador ese año, y se toman los 5 países con mayor participación.

top5_socios <- data_comercio_exterior %>%
  group_by(anio, iso_3) %>%
  summarise(exportaciones = sum(valor_fob, na.rm = TRUE), .groups = "drop") %>%
  group_by(anio) %>%
  mutate(pct_exportaciones = exportaciones / sum(exportaciones, na.rm = TRUE) * 100) %>%
  arrange(anio, desc(pct_exportaciones)) %>%
  group_by(anio) %>%
  slice_max(order_by = pct_exportaciones, n = 5, with_ties = FALSE) %>%
  mutate(
    puesto = row_number(),
    etiqueta = paste0(iso_3, " | ", round(pct_exportaciones, 1))
  ) %>%
  ungroup()

tabla_top5 <- top5_socios %>%
  select(anio, puesto, etiqueta) %>%
  pivot_wider(names_from = puesto, values_from = etiqueta) %>%
  arrange(anio) %>%
  rename(Año = anio)

Top 5 Socios comerciales, periodo 2022-2026, datos en porcentaje de las exportaciones totales.

tabla_top5 %>%
  kable(
    format = "html",
    caption = "Top 5 Socios comerciales, periodo 2022-2026 (% de las exportaciones totales)",
    align = "c",
    col.names = c("Año", "1", "2", "3", "4", "5")
  ) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed", "responsive"),
    full_width = TRUE,
    position = "center"
  ) %>%
  add_footnote(
    label = "Fuente: Elaboración propia, con base en información del BCR.",
    notation = "symbol"
  )
Top 5 Socios comerciales, periodo 2022-2026 (% de las exportaciones totales)
Año 1 2 3 4 5
2022 USA | 38.8 GTM | 17.1 HND | 16.7 NIC | 7 CRI | 4.3
2023 USA | 35.6 GTM | 18.4 HND | 16.3 NIC | 7.8 CRI | 4.8
2024 USA | 33.8 GTM | 19.5 HND | 16.1 NIC | 8.9 CRI | 4.7
2025 USA | 32.4 GTM | 19.6 HND | 16.7 NIC | 9.1 CRI | 4.5
2026 USA | 32.5 GTM | 19.5 HND | 15.4 NIC | 8.7 CRI | 4.5
* Fuente: Elaboración propia, con base en información del BCR.