Literal 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.

#Creación de la tabla de importaciones
library(dplyr)
library(readr)
library(data.table)

#Definir la ubicación de los documentos a unir
setwd("C:/Users/Molin/Documents/Docsi")
nombres_archivos_importar_i <- list.files()
lista_importaciones <- lapply(nombres_archivos_importar_i,
                              FUN = read_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)

#Unión de la lista como data frame
importaciones_mensuales_2018_2020 <- bind_rows(lista_importaciones)
importaciones_mensuales_2018_2020 %>% 
  head(10)
#Creación de la tabla de exportaciones
#Definir la ubicación de los documentos a unir
setwd("C:/Users/Molin/Documents/Docse")
nombres_archivos_importar_e <- list.files()
lista_exportaciones <- lapply(nombres_archivos_importar_e,
                              FUN = read_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)

#Unión de la lista como data frame
exportaciones_mensuales_2018_2020 <- bind_rows(lista_exportaciones)
exportaciones_mensuales_2018_2020 %>% 
head(10)
library(tidyr)
library(kableExtra)
## 
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
## 
##     group_rows
#Combinación de ambos data frames utilizando "unión completa"
importaciones_mensuales_2018_2020 %>% full_join(
  exportaciones_mensuales_2018_2020,
  by = c("pais","sac","anio","mes"),
  suffix = c("_importaciones","_exportaciones") 
) -> comercio_exterior

#Remplazo de los valores "NA" con valores de "0"
comercio_exterior %>% 
  replace_na(
  list(
    valor_cif = 0,
    valor_fob = 0,
    kilogramos_importaciones = 0,
    kilogramos_exportaciones = 0)) %>% 
  arrange(pais, anio, mes, sac) -> comercio_exterior
comercio_exterior %>% 
  head(10) %>% 
  kable(caption="El Salvador: Comercio Exterior 2018-2020", align="c") %>% 
  add_footnote(label = "Elaboracion propia con base en datos del BCR", notation = "symbol") %>% 
  kable_styling()
El Salvador: 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
save(comercio_exterior, file = "C:/Users/Molin/Documents/Docsu/comercio_exterior.RData")

Literal 2

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

#Actualización de las importaciones para el 2021
#Definir la ubicación de los documentos a unir
setwd("C:/Users/Molin/Documents/Docsi")
nombres_archivos_importar_i <- list.files()
lista_importaciones <- lapply(nombres_archivos_importar_i,
                              FUN = read_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)

#Unión de la lista como data frame
importaciones_mensuales_2018_2021 <- bind_rows(lista_importaciones)
#Actualización de las importaciones para el 2022
#Definir la ubicación de los documentos a unir
setwd("C:/Users/Molin/Documents/Docsi")
nombres_archivos_importar_i <- list.files()
lista_importaciones <- lapply(nombres_archivos_importar_i,
                              FUN = read_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)

#Unión de la lista como data frame
importaciones_mensuales_2018_2022 <- bind_rows(lista_importaciones)
#Actualización de las importaciones para el 2023
#Definir la ubicación de los documentos a unir
setwd("C:/Users/Molin/Documents/Docsi")
nombres_archivos_importar_i <- list.files()
lista_importaciones <- lapply(nombres_archivos_importar_i,
                              FUN = read_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)

#Unión de la lista como data frame
importaciones_mensuales_2018_2023 <- bind_rows(lista_importaciones)
#Actualización de las exportaciones hasta 2021
#Definir la ubicación de los documentos a unir
setwd("C:/Users/Molin/Documents/Docse")
nombres_archivos_importar_e <- list.files()
lista_exportaciones <- lapply(nombres_archivos_importar_e,
                              FUN = read_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)

#Unión de la lista como data frame
exportaciones_mensuales_2018_2021 <- bind_rows(lista_exportaciones)
#Actualización de las exportaciones hasta 2022
#Definir la ubicación de los documentos a unir
setwd("C:/Users/Molin/Documents/Docse")
nombres_archivos_importar_e <- list.files()
lista_exportaciones <- lapply(nombres_archivos_importar_e,
                              FUN = read_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)

#Unión de la lista como data frame
exportaciones_mensuales_2018_2022 <- bind_rows(lista_exportaciones)
#Actualización de las exportaciones hasta 2023
#Definir la ubicación de los documentos a unir
setwd("C:/Users/Molin/Documents/Docse")
nombres_archivos_importar_e <- list.files()
lista_exportaciones <- lapply(nombres_archivos_importar_e,
                              FUN = read_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)

#Unión de la lista como data frame
exportaciones_mensuales_2018_2023 <- bind_rows(lista_exportaciones)
#Combinación de ambos data frames actualizados utilizando "unión completa"
importaciones_mensuales_2018_2023 %>% full_join(
  exportaciones_mensuales_2018_2023,
  by = c("pais","sac","anio","mes"),
  suffix = c("_importaciones","_exportaciones") 
) -> comercio_exterior_act

#Remplazo de los valores "NA" con valores de "0"
comercio_exterior_act %>% replace_na(
  list(
    valor_cif=0,
    valor_fob=0,
    kilogramos_importaciones=0,
    kilogramos_exportaciones=0
  )
) %>% 
  arrange(pais, anio, mes, sac) -> comercio_exterior_act
comercio_exterior_act %>% 
  head(10) %>% 
  kable(caption="El Salvador: Comercio Exterior 2018-2023", align="c") %>% 
  add_footnote(label = "Elaboracion propia con base en datos del BCR", notation = "symbol") %>% 
  kable_styling()
El Salvador: Comercio Exterior 2018-2023
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
save(comercio_exterior_act, file = "C:/Users/Molin/Documents/Docsu/comercio_exterior_act.RData")

Literal 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.

load("C:/Users/Molin/Documents/Docsu/comercio_exterior_act.RData")

#Carga del documento en excel
library(readxl)
nombres_paises_iso <- read_excel("C:/Users/Molin/Downloads/nombres_paises_iso.xlsx", 
    sheet = "unique_pais")
## New names:
## • `codigo_pais` -> `codigo_pais...5`
## • `codigo_pais` -> `codigo_pais...6`
## • `` -> `...13`
#Unión de los códigos con la base de datos
comercio_exterior_act %>% left_join(nombres_paises_iso,                               by=c("pais"="nom_pais_esp"))->
  comercio_exterior_estan
comercio_exterior_estan %>% 
  head(10) %>% 
  kable(caption="El Salvador: Comercio Exterior (estandarizada)", align="c") %>% 
  add_footnote(label = "Elaboracion propia con base en datos del BCR", notation = "symbol") %>% 
  kable_styling()
El Salvador: Comercio Exterior (estandarizada)
pais sac anio mes valor_cif kilogramos_importaciones valor_fob kilogramos_exportaciones nom_pais_ingles iso_2 iso_3 codigo_pais…5 codigo_pais…6 region cod_region sub_region cod_sub_region region_intermedia cod_region_intermedia …13
Afganistan 0806200000 2018 6 6448.43 1463.92 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6104220000 2018 10 3153.37 2407.61 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6104620000 2018 10 946.01 722.28 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6105100000 2018 10 9405.39 7181.03 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6106100000 2018 10 1353.32 1725.55 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6405900000 2018 10 2260.03 1725.55 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 8206000000 2018 10 6.56 5.02 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6404110000 2019 2 7752.13 6748.03 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6405100000 2019 2 508.03 442.24 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6405900000 2019 2 12.45 10.85 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
* Elaboracion propia con base en datos del BCR
save(comercio_exterior_estan, file = "C:/Users/Molin/Documents/Docsu/comercio_exterior_estan.RData")

Literal 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:

Ejemplo
Ejemplo
options (scipen = 9999)
load("C:/Users/Molin/Documents/Docsu/comercio_exterior_estan.RData")

#Selección de los años para el ranking
anios_rank <- 2018:2022
comercio_exterior_estan %>% 
  filter(anio %in% anios_rank) -> ranking
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) %>% 
  group_by(anio) %>% 
  mutate(rank=row_number(),
         data=paste(iso_3,"|",percent,sep = "")) %>% 
  select(anio,data,rank) %>% 
  as.data.frame() -> insumo_reporte
## `summarise()` has grouped output by 'anio'. You can override using the
## `.groups` argument.
print(insumo_reporte)
##    anio      data rank
## 1  2018 USA|44.07    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 USA|42.04    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 USA|40.65    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 USA|40.52    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 USA|38.78    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

Formato “RAW”

library(tidyr)
insumo_reporte %>% 
  pivot_wider(names_from = rank,values_from = data) -> mi_rank
print(mi_rank)
## # A tibble: 5 × 6
##    anio `1`       `2`       `3`       `4`      `5`     
##   <dbl> <chr>     <chr>     <chr>     <chr>    <chr>   
## 1  2018 USA|44.07 HND|15.34 GTM|14.36 NIC|6.87 CRI|4.39
## 2  2019 USA|42.04 GTM|15.92 HND|15.9  NIC|6.66 CRI|4.46
## 3  2020 USA|40.65 GTM|16.42 HND|15.56 NIC|7.1  CRI|4.49
## 4  2021 USA|40.52 GTM|16.78 HND|16.49 NIC|7.2  CRI|4.11
## 5  2022 USA|38.78 GTM|17.05 HND|16.65 NIC|6.98 CRI|4.27

Formato requerido

library(kableExtra)
mi_rank %>% 
  kable(caption = paste("Top",5,"de Exportaciones periodo",
                        min(anios_rank),"-",max(anios_rank))) %>% 
  add_footnote(label = "Elaboración propia con base en datos de BCR")
Top 5 de Exportaciones periodo 2018 - 2022
anio 1 2 3 4 5
2018 USA|44.07 HND|15.34 GTM|14.36 NIC|6.87 CRI|4.39
2019 USA|42.04 GTM|15.92 HND|15.9 NIC|6.66 CRI|4.46
2020 USA|40.65 GTM|16.42 HND|15.56 NIC|7.1 CRI|4.49
2021 USA|40.52 GTM|16.78 HND|16.49 NIC|7.2 CRI|4.11
2022 USA|38.78 GTM|17.05 HND|16.65 NIC|6.98 CRI|4.27
a Elaboración propia con base en datos de BCR