Elaboración de un top 5 de socios comerciales

1. Base de Comercio Exterior (2022-2026)

1.1 Cargar las librerías

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

1.2 Importaciones

setwd("C:/Users/MINEDUCYT/OneDrive/Escritorio/MAE/BASE DE COMERCIO EXTERIOR/Importaciones")

archivos_importar <- list.files()

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)

1.3 Exportaciones

setwd("C:/Users/MINEDUCYT/OneDrive/Escritorio/MAE/BASE DE COMERCIO EXTERIOR/Exportaciones")

archivos_exportar <- list.files()

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)

1.4 Unió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)
data_comercio_exterior %>% 
  head(10) %>% 
  kable(
    format = "html", 
    caption = "Base de Comercio Exterior de El Salvador (2022-2026)",
    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")
Base de Comercio Exterior de El Salvador (2022-2026)
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. Agregando Información ISO de Países y Regiones

2.1 Cargar el catálogo de países

nombre_archivo <- "C:/Users/MINEDUCYT/OneDrive/Escritorio/MAE/BASE DE COMERCIO EXTERIOR/nombres_iso_paises.xlsx"
nombres_iso_paises <- read_excel(nombre_archivo)

2.2 Hacer el left_join, con el ajuste de mayúsculas

Porque la columna pais está en MAYÚSCULAS (“GUATEMALA”), mientras que el catálogo tiene los nombres en formato título (“Guatemala”)

data_comercio_exterior <- data_comercio_exterior %>%
  mutate(pais = toupper(pais)) %>% 
  left_join(
    nombres_iso_paises %>% mutate(nom_pais_esp = toupper(nom_pais_esp)),
    by = c("pais" = "nom_pais_esp")
  )
data_comercio_exterior %>% 
  head(10) %>% 
  kable(
    format = "html", 
    caption = "Base de Comercio Exterior con Información Estandarizada 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 Banco Central de Reserva (BCR)", notation = "symbol")
Base de Comercio Exterior con Información Estandarizada de Países
pais sac anio mes valor_cif kilogramos_importaciones valor_fob kilogramos_exportaciones nom_pais_ingles iso_2 iso_3 codigo_pais region cod_region sub_region cod_sub_region region_intermedia cod_region_intermedia
AFGANISTAN 8708990000 2022 2 220.50 0.29 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
AFGANISTAN 8471900000 2022 5 665.90 4.00 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
AFGANISTAN 5702310000 2022 6 913.74 22.02 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
AFGANISTAN 5702502000 2022 6 566.35 11.36 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
AFGANISTAN 6111200000 2022 8 213.69 1.56 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
AFGANISTAN 8536509000 2022 9 42.28 2.00 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
AFGANISTAN 6210400000 2023 7 204.75 0.10 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
AFGANISTAN 0901210000 2024 4 0.00 0.00 440 21 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
AFGANISTAN 4909000000 2024 4 0.07 0.15 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
AFGANISTAN 8473300000 2024 6 60.18 1.00 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
* Fuente: Elaboración propia con base en datos del Banco Central de Reserva (BCR)

3. Ranking del top 5 de socios comerciales

3.1 Calcular el total exportado por país y año

#Seleccionar Años
anios_ranking<-2022:2026
data_comercio_exterior %>% 
  filter(anio %in% anios_ranking) ->data_ranking
data_ranking %>% 
  group_by(anio,iso_3) %>% 
  summarise(total=sum(valor_fob)) %>% mutate(percent=round(prop.table(total)*100,2)) %>% 
  slice_max(n = 5,order_by = total) %>% 
  as.data.frame() %>% 
  group_by(anio) %>% 
  mutate(rank = row_number(),
         data=paste(iso_3,"|",percent,sep = "")) %>% 
  select(anio,data,rank) %>% as.data.frame() -> insumo_reporte
print(insumo_reporte)
##    anio      data rank
## 1  2022 USA|38.78    1
## 2  2022 GTM|17.05    2
## 3  2022 HND|16.65    3
## 4  2022  NIC|6.98    4
## 5  2022  CRI|4.27    5
## 6  2023  USA|35.6    1
## 7  2023 GTM|18.45    2
## 8  2023  HND|16.3    3
## 9  2023  NIC|7.85    4
## 10 2023  CRI|4.79    5
## 11 2024 USA|33.84    1
## 12 2024 GTM|19.53    2
## 13 2024 HND|16.14    3
## 14 2024  NIC|8.94    4
## 15 2024  CRI|4.71    5
## 16 2025 USA|32.45    1
## 17 2025 GTM|19.64    2
## 18 2025 HND|16.74    3
## 19 2025  NIC|9.12    4
## 20 2025  CRI|4.45    5
## 21 2026 USA|32.53    1
## 22 2026 GTM|19.46    2
## 23 2026 HND|15.44    3
## 24 2026   NIC|8.7    4
## 25 2026  CRI|4.51    5
# Convertir a formato ancho (una columna por posición del ranking)
tabla_final <- insumo_reporte %>%
  pivot_wider(
    names_from = rank,
    values_from = data
  )
data_comercio_exterior %>% 
  head(10) %>% 
  kable(
    format = "html", 
    caption = "Base de Comercio Exterior con Información Estandarizada 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 Banco Central de Reserva (BCR)", notation = "symbol")
Base de Comercio Exterior con Información Estandarizada de Países
pais sac anio mes valor_cif kilogramos_importaciones valor_fob kilogramos_exportaciones nom_pais_ingles iso_2 iso_3 codigo_pais region cod_region sub_region cod_sub_region region_intermedia cod_region_intermedia
AFGANISTAN 8708990000 2022 2 220.50 0.29 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
AFGANISTAN 8471900000 2022 5 665.90 4.00 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
AFGANISTAN 5702310000 2022 6 913.74 22.02 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
AFGANISTAN 5702502000 2022 6 566.35 11.36 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
AFGANISTAN 6111200000 2022 8 213.69 1.56 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
AFGANISTAN 8536509000 2022 9 42.28 2.00 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
AFGANISTAN 6210400000 2023 7 204.75 0.10 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
AFGANISTAN 0901210000 2024 4 0.00 0.00 440 21 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
AFGANISTAN 4909000000 2024 4 0.07 0.15 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
AFGANISTAN 8473300000 2024 6 60.18 1.00 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
* Fuente: Elaboración propia con base en datos del Banco Central de Reserva (BCR)