#1 Creacion de la Tabla de Importaciones.

#carga de los paquetes.
library(readr)
library(dplyr)
library(kableExtra) #para mostrar las tablas de forma agradable "bonitas".

#Establecer el directorio del trabajo.
setwd("C:/Users/Rivera/Desktop/Metodos2020/Comercio/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"),
                          skip=1)

#ensamblar los archivos en un solo dataframe.
data_importaciones<-bind_rows(lista_importacion)

#mostrar los datos en HTML (para esta publicación)
data_importaciones %>% head() %>% kable(caption = "El Salvador: Base de Importaciones 2017-2020 (Julio)",align = "c") %>% add_footnote(label = "Elaboración propia con base en datos del BCR",notation = "symbol") %>% kable_styling()
El Salvador: Base de Importaciones 2017-2020 (Julio)
pais sac anio mes valor_cif kilogramos
Groenlandia (Din) 2710199900 2017 02 317.40 8.16
Canada 0409000000 2017 03 673.18 836.10
Canada 0409000000 2017 04 171.17 600.00
Canada 0409000000 2017 05 330.09 660.00
Canada 0409000000 2017 06 149.46 437.50
Canada 0511100000 2017 03 18988.60 30.00
* Elaboración propia con base en datos del BCR

#2 Creacion dela tabla de Exportaciones.

#carga de los paquetes.
library(readr)
library(dplyr)
library(kableExtra) #para mostrar las tablas de forma agradable "bonitas".

#Establecer wl directorio del trabajo.
setwd("C:/Users/Rivera/Desktop/Metodos2020/Comercio/Exportaciones")

#Nombres de los archivos en el directorio de trabajo (sólo deben estar los archivos a leer).
archivos_exportar<-list.files()

#Leer los archivos del directorio de trabajo.
lista_exportacion<-lapply(archivos_exportar,
                          FUN = read_delim, delim="|",
                          col_names=c("pais","sac","anio","mes","valor_cif","kilogramos"),
                          skip=1)

#ensamblar los archivos en un solo dataframe.
data_exportaciones<-bind_rows(lista_exportacion)

#mostrar los datos en HTML (para esta publicación)
data_exportaciones %>% head() %>% kable(caption = "El Salvador: Base de Exportaciones 2017-2020 (Julio)",align = "c") %>% add_footnote(label = "Elaboración propia con base en datos del BCR",notation = "symbol") %>% kable_styling()
El Salvador: Base de Exportaciones 2017-2020 (Julio)
pais sac anio mes valor_cif kilogramos
Canada 0106190000 2017 02 100.00 26.0
Canada 0106190000 2017 06 580.00 10.0
Canada 0106900000 2017 01 3491.55 11.0
Canada 0106900000 2017 02 4791.20 14.0
Canada 0106900000 2017 03 5516.00 17.0
Canada 0106900000 2017 04 5019.50 14.5
* Elaboración propia con base en datos del BCR

#3 Creación de la Tabla de Comercio Exterior. -Se ha ejecutado un full_join entre las tablas de data_importaciones y data_exportaciones, como concecuencia hay partidas que no tendrán datos,por ejemplo un producto que no se fabrica en el país tendrá solo datos de importaciones, y en exportaciones aparecerá como “NA”, equivalente a un valor “nulo”, pero no cero.

-En R, las operaciones con un “NA” dan como resultado un “NA”, por lo tanto se deben sustituir los “NA” con ceros en este caso, ya que esto si tiene sentido económico y lógico al momento de realizar operaciones con las columnas de la tabla.

-Para esta ultima operación se utiliza el comando “replace_na” del paquete “tidyr”

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 #se asigno al final de la instruccion.

#Mostrar la tabla (1ros. 6 elementos)
data_comercio_exterior %>% head() %>% kable(caption = "Base de Comercio Exterior 2017-2020 (julio)", align = "c") %>% 
  add_footnote(label = "Elaboracion propia con base de datos del BCR", notation = "symbol") %>% kable_styling()
Base de Comercio Exterior 2017-2020 (julio)
pais sac anio mes valor_cif_importaciones kilogramos_importaciones valor_cif_exportaciones kilogramos_exportaciones
Afganistan 4010390000 2017 04 58.06 0.92 NA 0
Afganistan 6812999000 2017 04 88.38 1.39 NA 0
Afganistan 8487900000 2017 04 20.93 0.33 NA 0
Afganistan 8511800000 2017 04 98.93 1.56 NA 0
Afganistan 8708930000 2017 04 62.18 0.98 NA 0
Afganistan 9028200000 2017 04 130.06 2.05 NA 0
* Elaboracion propia con base de datos del BCR

#4 Guardar la tabla de Comercio Exterior. -Con esto podremos usar la Tabla en otros análisis sin tener que volver a procesar los archivos.

-El comando save permite guardar objetos individuales del enviroment en archivos individuales, con formato .RData

#Guardando el objeto data_comercio_exterior.
save(data_comercio_exterior,file = "C:/Users/Rivera/Desktop/Metodos2020/Comercio/data_comercio_exterior.RData")

#5 Cargar la Tabla en otro Script de análisis.

load("C:/Users/Rivera/Desktop/Metodos2020/Comercio/data_comercio_exterior.RData")