1. Compile la información disponible en la “Base de Datos de Comercio Exterior” del BCR, para los años 2018-2020. Y 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.

library(readr)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(kableExtra)
## 
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
## 
##     group_rows
setwd("~/MAE2023/IMPORTACIONES/")
archivos_importar<- list.files()
lista_importaciones<- 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_importaciones)
data_importaciones %>% head(n = 10) %>% kable(caption = "El Salvador base de importaciones 2018-2020", aling= "c") %>% 
  add_footnote(label = "Elaboracion propia con base de datos del BCR",
               notation = "symbol") %>% kable_styling()
El Salvador base de importaciones 2018-2020
pais sac anio mes valor_cif kilogramos
Canada 0404900000 2018 2 68040.00 18810.00
Canada 0404900000 2018 3 92725.74 25528.60
Canada 0404900000 2018 4 92546.45 25525.00
Canada 0404900000 2018 6 91531.00 25525.00
Canada 0405100000 2018 6 26.56 20.00
Canada 0511100000 2018 1 16365.04 23.65
Canada 0511100000 2018 3 17884.85 24.00
Canada 0706900000 2018 4 963.78 6500.00
Canada 0706900000 2018 6 116.45 1176.00
Canada 0709991000 2018 6 166.36 800.00
* Elaboracion propia con base de datos del BCR
library(readr)
library(dplyr)
library(kableExtra)
setwd("~/MAE2023/EXPORTACIONES/")
archivos_importar<- list.files()
lista_exportaciones<- lapply(archivos_importar,
                             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_exportaciones)
data_exportaciones %>% head(n = 10) %>% kable(caption = "El Salvador base de exportaciones 2018-2020", aling= "c") %>% 
  add_footnote(label = "Elaboracion propia con base de datos del BCR",
               notation = "symbol") %>% kable_styling()
El Salvador base de exportaciones 2018-2020
pais sac anio mes valor_fob kilogramos
Canada 0106900000 2018 2 4667.20 15.00
Canada 0106900000 2018 3 4237.10 14.00
Canada 0106900000 2018 4 3918.00 13.50
Canada 0106900000 2018 5 3155.40 10.00
Canada 0106900000 2018 6 3097.40 9.00
Canada 0305720000 2018 2 2702.30 280.00
Canada 0602100000 2018 1 475519.57 7504.03
Canada 0602100000 2018 2 400232.82 6216.29
Canada 0602100000 2018 3 158138.42 2464.76
Canada 0602100000 2018 4 30370.08 510.83
* Elaboracion propia con base de datos del BCR
library(dplyr)
library(tidyr)
library(kableExtra)
data_importaciones %>% full_join(
  data_exportaciones,
  by = c("pais", "sac", "anio", "mes"),
  suffix = c("_importaciones", "_exportaciones")
) -> data_comercio_exterior
data_comercio_exterior %>% replace_na(
  list(
    valor_cif = 0,
    valor_fob = 0,
    kilogramos_importaciones = 0,
    kilogramos_exportaciones = 0
  )
) %>%
  arrange(pais, anio, mes, sac) -> data_comercio_exterior 
data_comercio_exterior %>% head(n = 10) %>%
  kable(caption = "Base de Comercio Exterior 2018-2020",
        align = "c") %>%
  add_footnote(label = "Elaboracion propia con base en datos del BCR",
               notation = "symbol") %>%  kable_styling()
Base de Comercio Exterior 2018-2020
pais sac anio mes valor_cif kilogramos_importaciones valor_fob kilogramos_exportaciones
Afganistan 0806200000 2018 6 6448.43 1463.92 0 0
Afganistan 6104220000 2018 10 3153.37 2407.61 0 0
Afganistan 6104620000 2018 10 946.01 722.28 0 0
Afganistan 6105100000 2018 10 9405.39 7181.03 0 0
Afganistan 6106100000 2018 10 1353.32 1725.55 0 0
Afganistan 6405900000 2018 10 2260.03 1725.55 0 0
Afganistan 8206000000 2018 10 6.56 5.02 0 0
Afganistan 6404110000 2019 2 7752.13 6748.03 0 0
Afganistan 6405100000 2019 2 508.03 442.24 0 0
Afganistan 6405900000 2019 2 12.45 10.85 0 0
* Elaboracion propia con base en datos del BCR

2. Realice la actualización de la tabla anterior con toda la información disponible para 2023.

load("~/MAE2023/data_comercio_exterior.RData")
library(dplyr)
library(tidyr)
library(kableExtra)
setwd("~/MAE2023/Importaciones_update")

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_update <- bind_rows(lista_importacion)
#Exportaciones
setwd("~/MAE2023/Exportaciones_update")

archivos_importar <- list.files()

lista_importacion <- lapply(
  archivos_importar,
  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_cif = "d",
    kilogramos = "d"
  ),
  skip = 1
)

data_exportaciones_update <- bind_rows(lista_importacion)

data_importaciones_update %>% full_join(
  data_exportaciones_update,
  by = c("pais", "sac", "anio", "mes"),
  suffix = c("_importaciones", "_exportaciones")
) -> data_comercio_exterior_update

data_comercio_exterior_update %>% replace_na(
  list(
    valor_cif = 0,
    valor_fob = 0,
    kilogramos_importaciones = 0,
    kilogramos_exportaciones = 0
  )
) %>%
  arrange(pais, anio, mes, sac) -> data_comercio_exterior_update

#Unir la tabla de comercio exterior y su actualización
data_comercio_exterior %>% bind_rows(data_comercio_exterior_update) %>%  arrange(pais, anio, mes, sac) ->
  data_comercio_exterior

save(data_comercio_exterior, file = "~/MAE2023/data_comercio_exterior_actualizada.RData")

data_comercio_exterior %>% filter(anio == 2023, mes == 08) %>% head(n = 10) %>%
  kable(caption = "Base de Comercio Exterior 2018-2023",
        align = "c") %>%
  add_footnote(label = "Elaboración propia con base en datos del BCR",
               notation = "symbol") %>%  kable_styling()
Base de Comercio Exterior 2018-2023
pais sac anio mes valor_cif kilogramos_importaciones valor_fob kilogramos_exportaciones
Albania 6109900000 2023 8 77.80 1.22 0 0
Albania 6109900000 2023 8 77.80 1.22 0 0
Albania 6109900000 2023 8 77.80 1.22 0 0
Albania 6109900000 2023 8 77.80 1.22 0 0
Albania 6109900000 2023 8 77.80 1.22 0 0
Albania 6109900000 2023 8 77.80 1.22 0 0
Albania 6109900000 2023 8 77.80 1.22 0 0
Albania 6109900000 2023 8 77.80 1.22 0 0
Albania 6109900000 2023 8 77.80 1.22 0 0
Albania 8484200000 2023 8 165.15 2.60 0 0
* Elaboración propia con base en datos del BCR

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.

options (scipen = 9999)
library(dplyr)
library(readxl)
library(kableExtra)
#Datos
load("~/MAE2023/data_comercio_exterior_actualizada.RData")

#Pegar nombres paises
nombre_archivo <- "~/MAE2023/master_paises_iso.xlsx"
master_paises_iso <- read_excel(nombre_archivo)
data_comercio_exterior %>%
  left_join(master_paises_iso,
            by = c("pais" = "nom_pais_esp")) -> data_comercio_exterior


#Seleccionar Años
anios_ranking<-2018:2023
data_comercio_exterior %>% 
  filter(anio %in% anios_ranking) ->data_ranking

data_ranking %>%
  select("pais","anio","iso_3","region") %>% 
  head(n = 10) %>%
  kable(caption = "Base de Comercio Exterior - ISO",
        align = "c") %>% 
  add_footnote(label = "Elaboración propia con base de datos del BCR",
               notation = "symbol") %>% kable_styling()
Base de Comercio Exterior - ISO
pais anio iso_3 region
Afganistan 2018 AFG 142
Afganistan 2018 AFG 142
Afganistan 2018 AFG 142
Afganistan 2018 AFG 142
Afganistan 2018 AFG 142
Afganistan 2018 AFG 142
Afganistan 2018 AFG 142
Afganistan 2019 AFG 142
Afganistan 2019 AFG 142
Afganistan 2019 AFG 142
* Elaboración propia con base de datos del BCR

4. Obtenga un ranking, anual, de los 5 principales socios comerciales de El Salvador, para el periodo 2018-2022. Presente sus resultados en el siguiente formato: Top 5 Socios comerciales, periodo 2018-2023, datos en porcentaje de las exportaciones totales.

library(dplyr)
library(tidyr)
library(kableExtra)
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 2018 NA|47.09 1 2 2018 HND|15.34 2 3 2018 GTM|14.36 3 4 2018 NIC|6.87 4 5 2018 CRI|4.39 5 6 2019 NA|44.41 1 7 2019 GTM|15.92 2 8 2019 HND|15.9 3 9 2019 NIC|6.66 4 10 2019 CRI|4.46 5 11 2020 NA|43.91 1 12 2020 GTM|16.42 2 13 2020 HND|15.56 3 14 2020 NIC|7.1 4 15 2020 CRI|4.49 5 16 2021 NA|43.83 1 17 2021 GTM|16.78 2 18 2021 HND|16.49 3 19 2021 NIC|7.2 4 20 2021 CRI|4.11 5 21 2022 NA|41.17 1 22 2022 GTM|17.05 2 23 2022 HND|16.65 3 24 2022 NIC|6.98 4 25 2022 CRI|4.27 5 26 2023 NA|38.49 1 27 2023 GTM|17.93 2 28 2023 HND|15.94 3 29 2023 NIC|7.39 4 30 2023 CRI|4.62 5

insumo_reporte %>% 
pivot_wider(names_from = rank,values_from = data)->mi_tabla
print(mi_tabla)
## # A tibble: 6 × 6
##    anio `1`      `2`       `3`       `4`      `5`     
##   <dbl> <chr>    <chr>     <chr>     <chr>    <chr>   
## 1  2018 NA|47.09 HND|15.34 GTM|14.36 NIC|6.87 CRI|4.39
## 2  2019 NA|44.41 GTM|15.92 HND|15.9  NIC|6.66 CRI|4.46
## 3  2020 NA|43.91 GTM|16.42 HND|15.56 NIC|7.1  CRI|4.49
## 4  2021 NA|43.83 GTM|16.78 HND|16.49 NIC|7.2  CRI|4.11
## 5  2022 NA|41.17 GTM|17.05 HND|16.65 NIC|6.98 CRI|4.27
## 6  2023 NA|38.49 GTM|17.93 HND|15.94 NIC|7.39 CRI|4.62
mi_tabla %>%
  kable(caption = paste("Top",5,"socios comerciales periodo",2018-2023,"datos en porcentaje de las exportaciones totales",
    min(anios_ranking),"-",max(anios_ranking))) %>%
  add_footnote(label = "Elaboración propia con base en datos del BCR") %>% 
  kable_styling(bootstrap_options = "striped")
Top 5 socios comerciales periodo -5 datos en porcentaje de las exportaciones totales 2018 - 2023
anio 1 2 3 4 5
2018 NA|47.09 HND|15.34 GTM|14.36 NIC|6.87 CRI|4.39
2019 NA|44.41 GTM|15.92 HND|15.9 NIC|6.66 CRI|4.46
2020 NA|43.91 GTM|16.42 HND|15.56 NIC|7.1 CRI|4.49
2021 NA|43.83 GTM|16.78 HND|16.49 NIC|7.2 CRI|4.11
2022 NA|41.17 GTM|17.05 HND|16.65 NIC|6.98 CRI|4.27
2023 NA|38.49 GTM|17.93 HND|15.94 NIC|7.39 CRI|4.62
a Elaboración propia con base en datos del BCR