Guía de trabajo sobre base de datos de Comercio Exterior

1.Carga de Funciones Especializadas.

# Carga de script de funciones
source(
  file = "C:/Users/MINEDUCYT/OneDrive/Desktop/Comercio_Exterior/funciones_comercio_exterior.R",
  echo = TRUE,
  max.deparse.length = 100,
  encoding = "utf-8"
)
## 
## > options(scipen = 999)
## 
## > library(dplyr)
## 
## > library(readxl)
## 
## > library(stringr)
## 
## > load("C:/Users/MINEDUCYT/OneDrive/Desktop/Comercio_Exterior/data_comercio_exterior.RData")
## 
## > nombre_archivo <- "C:/Users/MINEDUCYT/OneDrive/Desktop/Comercio_Exterior/nombres_iso_paises.xlsx"
## 
## > nombres_iso_paises <- read_excel(nombre_archivo)
## 
## > nombres_iso_paises$nom_pais_esp <- toupper(nombres_iso_paises$nom_pais_esp)
## 
## > data_comercio_exterior <- data_comercio_exterior %>% 
## +     left_join(nombres_iso_paises, by = c(p .... [TRUNCATED] 
## 
## > herramientas_mostrar_paises <- function() {
## +     paises <- nombres_iso_paises %>% select(nom_pais .... [TRUNCATED] 
## 
## > herramientas_mostrar_regiones <- function() {
## +     nombres_iso_paises %>% group_by(region, cod_re .... [TRUNCATED] 
## 
## > herramientas_mostrar_paises_en_tabla <- function() {
## +     data_comercio_exterior %>% group_by(pai .... [TRUNCATED] 
## 
## > indicadores_IVCR_capitulo <- function(codigo_pais, 
## +     capitulo, anio) {
## +     codigo_pais <- e .... [TRUNCATED] 
## 
## > indicadores_IVCR_partida <- function(codigo_pais, 
## +     partida, anio) {
## +     codigo_pais <- enq .... [TRUNCATED] 
## 
## > indicadores_Balassa_capitulo <- function(codigo_pais, 
## +     capitulo, anio, normalizado = TRUE) { .... [TRUNCATED] 
## 
## > indicadores_Balassa_partida <- function(codigo_pais, 
## +     partida, anio, normalizado = TRUE) {
## + .... [TRUNCATED] 
## 
## > indicadores_IHH_Herfindahl_Hirschmann_anual_texto <- function(codigo_pais, 
## +     anio, normalizad .... [TRUNCATED] 
## 
## > indicadores_IHH_Herfindahl_Hirschmann_anual <- function(codigo_pais, 
## +     anio, normalizado = TR .... [TRUNCATED]

1.2 Cargar librerias.

library(dplyr)
library(tidyr)
library(readxl)
library(kableExtra)
library(readxl)
library(stringi)
library(knitr)

2. Con base en la información disponible en la “Base de Datos de Comercio Exterior” del BCR, incluida en el archivo .RData disponible para esta tarea, para los años 2022-2026. Genera una tabla tal como se mostró en las clases (aún no incluya los nombres ISO de los países). Muestre un head de 10 casos.

# Carga directa del objeto de datos previamente procesado
load("C:/Users/MINEDUCYT/OneDrive/Desktop/Comercio_Exterior/data_comercio_exterior.RData")

# muestre 10 casos
# Muestra de los primeros 10 registros (sin ISO)
data_comercio_exterior %>%
  filter(anio >= 2022 & anio <= 2026) %>%
  head(10) %>%
  kable(
    caption = "El Salvador: Base de Comercio Exterior (Primeros 10 casos)",
    align = "c"
  ) %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"))
El Salvador: Base de Comercio Exterior (Primeros 10 casos)
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

3. Agregue la información estandarizada de los países (nombres iso de los países y regiones, etc, tal como se vio en clases). Muestre un head de 10 casos.

# Carga del catálogo ISO
nombre_archivo <- "C:/Users/MINEDUCYT/OneDrive/Desktop/Comercio_Exterior/nombres_iso_paises.xlsx"
nombres_iso_paises <- read_excel(nombre_archivo)
nombres_iso_paises$nom_pais_esp <- toupper(nombres_iso_paises$nom_pais_esp)

# Unir catálogo ISO
data_comercio_iso <- data_comercio_exterior %>%
  left_join(nombres_iso_paises, by = c("pais" = "nom_pais_esp"))

# Muestra de los primeros 10 registros con ISO
data_comercio_iso %>%
  filter(anio >= 2022 & anio <= 2026) %>%
  head(10) %>%
  kable(
    caption = "El Salvador: Base de Comercio Exterior con Estandarización ISO",
    align = "c"
  ) %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"))
El Salvador: Base de Comercio Exterior con Estandarización ISO
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

4.Obtenga un ranking, anual, de los 5 principales socios comerciales de El Salvador, para el periodo 2022-2026. Presente sus resultados en el siguiente formato:

# Selecion Años
anios_ranking <- 2022:2026
insumo_reporte <- data_comercio_iso %>% 
  filter(anio %in% anios_ranking) %>% 
  group_by(anio, iso_3) %>% 
  summarise(total = sum(valor_fob, na.rm = TRUE), .groups = "drop_last") %>% 
  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(),
    # Formato exacto: ISO país | %Expor.
    data = paste(iso_3, " | ", percent, sep = "") 
  ) %>% 
  select(anio, data, rank)

# 2. Pivotar a formato horizontal asignando a tabla_final
tabla_final <- insumo_reporte %>% 
  pivot_wider(names_from = rank, values_from = data)
print(tabla_final)
## # A tibble: 5 × 6
## # Groups:   anio [5]
##    anio `1`         `2`         `3`         `4`        `5`       
##   <dbl> <chr>       <chr>       <chr>       <chr>      <chr>     
## 1  2022 USA | 38.78 GTM | 17.05 HND | 16.65 NIC | 6.98 CRI | 4.27
## 2  2023 USA | 35.6  GTM | 18.45 HND | 16.3  NIC | 7.85 CRI | 4.79
## 3  2024 USA | 33.84 GTM | 19.53 HND | 16.14 NIC | 8.94 CRI | 4.71
## 4  2025 USA | 32.45 GTM | 19.64 HND | 16.74 NIC | 9.12 CRI | 4.45
## 5  2026 USA | 32.53 GTM | 19.46 HND | 15.44 NIC | 8.7  CRI | 4.51
tabla_final %>%
  kable(caption = paste("Top",5,"de Exportaciones periodo",
    min(anios_ranking),"-",max(anios_ranking))) %>%
  add_footnote(label = "Elaboración propia con base en datos del BCR") 
Top 5 de Exportaciones periodo 2022 - 2026
anio 1 2 3 4 5
2022 USA | 38.78 GTM | 17.05 HND | 16.65 NIC | 6.98 CRI | 4.27
2023 USA | 35.6 GTM | 18.45 HND | 16.3 NIC | 7.85 CRI | 4.79
2024 USA | 33.84 GTM | 19.53 HND | 16.14 NIC | 8.94 CRI | 4.71
2025 USA | 32.45 GTM | 19.64 HND | 16.74 NIC | 9.12 CRI | 4.45
2026 USA | 32.53 GTM | 19.46 HND | 15.44 NIC | 8.7 CRI | 4.51

Note: aElaboración propia con base en datos del BCR