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.

Carga de Importaciones:

library(readr)
## Warning: package 'readr' was built under R version 4.3.1
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.3.1
## 
## 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("C:/Users/reque/Documents/R/METODOS PARA EL ANALISIS ECONOMICO/Tarea 5/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)
data_importaciones %>% head() %>% kable(caption = "El Salvador: Base de Importaciones 2018-2020",
                                         aling="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

Carga de Exportaciones:

library(readr)
library(dplyr)
library(kableExtra)
setwd("~/R/METODOS PARA EL ANALISIS ECONOMICO/Tarea 5/Exportaciones/")
archivos_expor_importar<-list.files()
lista_exportacion<-lapply(archivos_expor_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)
## Warning: The following named parsers don't match the column names: valor_cif
## The following named parsers don't match the column names: valor_cif
## The following named parsers don't match the column names: valor_cif
## The following named parsers don't match the column names: valor_cif
## The following named parsers don't match the column names: valor_cif
## The following named parsers don't match the column names: valor_cif
data_exportaciones<- bind_rows(lista_exportacion)
data_exportaciones %>% head() %>% kable(caption = "El Salvador: Base de Exportaciones 2018-2020", 
                                         aling="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

Creacion de tabla comercio exterior:

library(dplyr)
library(tidyr)
library(kableExtra)
data_comercio_exterior<- data_importaciones %>% full_join(data_exportaciones,
                                 by= c("pais", "sac", "anio", "mes"),
                                 suffix= c("_importaciones", "_exportaciones"))

# Sustitur los Valores Nulos "NA" y guardar en el mismo objeto
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)

# Mostrando los primeros 6 elementos de la tabla
data_comercio_exterior %>% head() %>%
  kable(caption = "Base de Comercio Exterior 2017-2020 (Julio)",
        align = "c") %>%
  add_footnote(label = "Elaboración propia con base en datos del BCR",
               notation = "symbol") %>%  kable_styling()
Base de Comercio Exterior 2017-2020 (Julio)
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
# Guardando data_comercio_exterior
save(data_comercio_exterior, file = "C:/Users/reque/Documents/R/METODOS PARA EL ANALISIS ECONOMICO/data_comercio_exterior.RData")

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

# Importaciones actualización
library(dplyr)
library(tidyr)
library(kableExtra)
setwd("~/R/METODOS PARA EL ANALISIS ECONOMICO/Tarea 5/Importaciones_actualizadas/")
archivos_importar_actualizados<- list.files()
lista_importacion_actualizada<- lapply(archivos_importar_actualizados,
                                       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_actualizada<- bind_rows(lista_importacion_actualizada) #Ensamblar los archivos en un sólo dataframe

# Exportaciones actualización
setwd("~/R/METODOS PARA EL ANALISIS ECONOMICO/Tarea 5/exportaciones_actualizadas/")
archivos_ex_actualizados<- list.files()
lista_exportacion_Actualizada<- lapply(archivos_ex_actualizados,
                                       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_actualizada<- bind_rows(lista_exportacion_Actualizada) #Ensamblar los archivos en un sólo dataframe

# Concatenando las tablas de data_importaciones_actualizada & data_exportaciones_actualizada
data_comercio_exterior_actualizada<- data_importaciones_actualizada %>% full_join(data_exportaciones_actualizada,
                                             by = c("pais", "sac", "anio", "mes"),
  suffix = c("_importaciones", "_exportaciones")
)

#Sustitur los Valores Nulos "NA" y guardar en el mismo objeto
data_comercio_exterior_actualizada<- data_comercio_exterior_actualizada %>% replace_na(list(
    valor_cif = 0,
    valor_fob = 0,
    kilogramos_importaciones = 0,
    kilogramos_exportaciones = 0
  )
) %>%
  arrange(pais, anio, mes, sac)

# Uniendo las tablas actualizadas
data_comercio_exterior<-data_comercio_exterior %>% bind_rows(data_comercio_exterior_actualizada) %>% arrange(pais, anio, mes, sac)
# Guardando la nueva actualización
save(data_comercio_exterior, file = "C:/Users/reque/Documents/R/METODOS PARA EL ANALISIS ECONOMICO/data_comercio_exterior_actualizada.RData")

# Mostrando los primeros 6 elementos 
data_comercio_exterior %>% head() %>%
  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 kilogramos
Afganistan 2023 7 204.75 0.10 NA 0 NA NA
Afganistan 0806200000 2018 6.00 6448.43 1463.92 0 0 NA
Afganistan 6104220000 2018 10.00 3153.37 2407.61 0 0 NA
Afganistan 6104620000 2018 10.00 946.01 722.28 0 0 NA
Afganistan 6105100000 2018 10.00 9405.39 7181.03 0 0 NA
Afganistan 6106100000 2018 10.00 1353.32 1725.55 0 0 NA
* 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.

# Cargando la data de comercio actualizada
library(readxl)
load("C:/Users/reque/Documents/R/METODOS PARA EL ANALISIS ECONOMICO/data_comercio_exterior_actualizada.RData")
iso_archivo<- "~/R/METODOS PARA EL ANALISIS ECONOMICO/Tarea 5/nombre_iso_paises.xlsx"
nombres_iso_paises<- read_excel(iso_archivo)
## New names:
## • `codigo_pais` -> `codigo_pais...5`
## • `codigo_pais` -> `codigo_pais...6`
## • `` -> `...13`
data_comercio_exterior <- data_comercio_exterior %>% 
  left_join(nombres_iso_paises,
            by= c("pais"="nom_pais_esp"))

# Mostrando los primeros 10 casos
data_comercio_exterior %>% head(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 kilogramos 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 2023 7 204.75 0.10 NA 0 NA NA Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 0806200000 2018 6.00 6448.43 1463.92 0 0 NA Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6104220000 2018 10.00 3153.37 2407.61 0 0 NA Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6104620000 2018 10.00 946.01 722.28 0 0 NA Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6105100000 2018 10.00 9405.39 7181.03 0 0 NA Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6106100000 2018 10.00 1353.32 1725.55 0 0 NA Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6405900000 2018 10.00 2260.03 1725.55 0 0 NA Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 8206000000 2018 10.00 6.56 5.02 0 0 NA Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6404110000 2019 2.00 7752.13 6748.03 0 0 NA Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6405100000 2019 2.00 508.03 442.24 0 0 NA Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
* Elaboración propia con base en datos del BCR

4. Obtenga un ranking, anual, de los 5 principales socios comerciales de El Salvador, para el

periodo 2018-2022.

library(dplyr)
library(tidyr)
library(kableExtra)
# seleccionando años:
anios_ranking<- c(2018, 2019, 2020, 2021, 2022)
data_ranking<- data_comercio_exterior %>% 
  filter(anio %in% anios_ranking)

# Calculo de ranking y porcentajes:
data_ranking %>%
  group_by(anio,iso_3) %>% 
  mutate(total=sum(valor_fob)) %>% 
  group_by(anio) %>% 
  mutate(porcentaje= round(valor_fob/sum(total)*100, 2)) %>% 
  slice_max(n = 5,order_by = porcentaje) %>% 
  as.data.frame() %>% 
  group_by(anio) %>% 
  mutate(rank = row_number(),
         data=paste(iso_3,"|",porcentaje,sep = "")) %>% 
  select(anio,data,rank) %>% as.data.frame() -> insumo_reporte
head(insumo_reporte, n=5)