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.

Crear tabla importaciones

library(readr)
library(dplyr)
library(data.table)
library(kableExtra)
setwd("C:/Users/USUARIO/Desktop/Metodos/importaciones")
nombres_archivos_importar<-list.files()
lista_importacion<-lapply(nombres_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)
data_importaciones %>% head()%>% kable(caption="El Salvador: Base de Importaciones 2018-2020",
        align="c") %>% 
  add_footnote(label="Elaboración propia con base en 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
* Elaboración propia con base en datos del BCR

Creacion de tabla expotaciones

library(readr)
library(dplyr)
library(data.table)
library(kableExtra)
setwd("C:/Users/USUARIO/Desktop/Metodos/exportaciones")
nombres_archivos_exportar<-list.files()
lista_exportacion<-lapply(nombres_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)
data_exportaciones %>% head()%>% kable(caption="El Salvador: Base de Exportaciones 2018-2020",
        align="c") %>% 
  add_footnote(label="Elaboración propia con base en 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.2 15.0
Canada 0106900000 2018 3 4237.1 14.0
Canada 0106900000 2018 4 3918.0 13.5
Canada 0106900000 2018 5 3155.4 10.0
Canada 0106900000 2018 6 3097.4 9.0
Canada 0305720000 2018 2 2702.3 280.0
* Elaboración propia con base en datos del BCR

Creación de la tabla de Comercio Exterior

library(dplyr)
library(tidyr)
library(kableExtra)
#Concatenar las tablas de data_importaciones & data_exportaciones
data_importaciones %>% full_join(
  data_exportaciones,
  by = c("pais", "sac", "anio", "mes"),
  suffix = c("_importaciones", "_exportaciones")
) -> data_comercio_exterior

#Sustitur los Valores Nulos "NA" y guardar en el mismo objeto
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() %>%
  kable(caption = "Base de Comercio Exterior 2018-2020",
        align = "c") %>%
  add_footnote(label = "Elaboración 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
* Elaboración propia con base en datos del BCR

Para Guardar la Tabla de Comercio Exterior

save(data_comercio_exterior, file= "C:/Users/USUARIO/Desktop/Metodos/data_comercio_exterior.RData")

Cómo Cargar nuestra tabla en otro script de análisis

load("C:/Users/USUARIO/Desktop/Metodos/data_comercio_exterior.RData")

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

library(readr)
library(data.table)
library(dplyr)
library(tidyr)
library(kableExtra)
setwd("C:/Users/USUARIO/Desktop/Metodos/importaciones")
#Nombres de los archivos en el directorio de trabajo (sólo deben estar los archivos a leer)
archivos_importar <- list.files()
#Leer los archivos del directorio de trabajo
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
)
#Ensamblar los archivos en un sólo dataframe
data_importaciones_update <- bind_rows(lista_importacion)
#Exportaciones
setwd("C:/Users/USUARIO/Desktop/Metodos/exportaciones")
#Nombres de los archivos en el directorio de trabajo (sólo deben estar los archivos a leer)
archivos_importar <- list.files()
#Leer los archivos del directorio de trabajo
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
)
#Ensamblar los archivos en un sólo dataframe
data_exportaciones_update <- bind_rows(lista_importacion)


#Concatenar las tablas de data_importaciones & data_exportaciones
data_importaciones_update %>% full_join(
  data_exportaciones_update,
  by = c("pais", "sac", "anio", "mes"),
  suffix = c("_importaciones", "_exportaciones")
) -> data_comercio_exterior_update

#Sustitur los Valores Nulos "NA" y guardar en el mismo objeto
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
#Volver a guardar!
# se Cambió el nombre para guardar la base anterior, por cualquier error que se pueda cometer al actualizar, o en caso de querer llevar un registro de versiones de la tabla.
save(data_comercio_exterior, file = "C:/Users/USUARIO/Desktop/Metodos/data_comercio_exterior_actualizada.RData")

#Mostrar Tabla (primeros 6 elementos)
data_comercio_exterior %>% filter(anio == 2023, mes == 08) %>% head() %>%
  kable(caption = "Base de Comercio Exterior 2018-2023 (agosto)",
        align = "c") %>%
  add_footnote(label = "Elaboración propia con base en datos del BCR",
               notation = "symbol") %>%  kable_styling()
Base de Comercio Exterior 2018-2023 (agosto)
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 8484200000 2023 8 165.15 2.60 0 0
Albania 8484200000 2023 8 165.15 2.60 0 0
Albania 8544300000 2023 8 849.34 2.09 0 0
Albania 8544300000 2023 8 849.34 2.09 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.

library(dplyr)
library(readxl)
library(kableExtra)
library(readr)
options(scipen = 9999999)
load("C:/Users/USUARIO/Desktop/Metodos/data_comercio_exterior.RData")
nombre_archivos<- "C:/Users/USUARIO/Desktop/Metodos/master_paises_iso.xlsx"
nombres_iso_paises_1<- read_excel(nombre_archivos)

 data_comercio_exterior %>% 
  left_join(nombres_iso_paises_1,
            by=c("pais"="nom_pais_esp"))->base_comercio_std

base_comercio_std %>% head() %>% kable(caption = "Data comercio exterior estandarizada",align = "c") %>% 
                                       add_footnote(label = "Elaboración propia en base a datos del BCR",
                                                    notation = "symbol") %>% kable_styling()
Data 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
* Elaboración propia en base a 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:

options (scipen = 999) #para mostrar todos los decimales :)
library(dplyr)
library(readxl)
#Datos
#load("G:/Metodos/data_comercio_exterior_actualizada.RData")
load("C:/Users/USUARIO/Desktop/Metodos/data_comercio_exterior_actualizada.RData")

#Pegar nombres paises 
nombre_archivo <- "C:/Users/USUARIO/Desktop/Metodos/master_paises_iso.xlsx"
nombres_iso_paises <- read_excel(nombre_archivo)
data_comercio_exterior %>%
  left_join(nombres_iso_paises,
            by = c("pais" = "nom_pais_esp")) -> data_comercio_exterior

#Seleccionar Años
anios_ranking<-2018:2022
data_comercio_exterior %>% 
  filter(anio %in% anios_ranking) ->data_ranking
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
library(dplyr)
library(kableExtra)
library(tidyr)
insumo_reporte %>% 
pivot_wider(names_from = rank,values_from = data)->mi_tabla
print(mi_tabla)
## # A tibble: 5 × 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
library(tidyr)
library(dplyr)
library(readr)
library(readxl)
library(kableExtra)
mi_tabla %>%
  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 2018 - 2022
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
a Elaboración propia con base en datos del BCR