UNIVERSIDAD DE EL SALVADOR

FACULTAD DE CIENCIAS ECONÓMICAS

ESCUELA DE ECONOMÍA

CICLO II-2023

Asignatura:

Métodos para el Análisis Ecocómico.

Facilitador:

Carlos Ademir Pérez Alas.

Contenido:

“Guía de trabajo sobre base de datos de Comercio Exterior” .

Grupo Teórico:

02.

Alumno:

Kevin Adonay Lemus Pérez. LP16027.

Ciudad Universitaria, 08 de octubre de 2023.

Guía de trabajo sobre base de datos de Comercio Exterior.

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.

1) Importacion de archivos y creacion de la tabla de importaciones.

#Cargar Paquetes
library(dplyr)
library(readr)
library(kableExtra)#Para mostrar "bonitas" las tablas en el documento
#establecer directorio de trabajo
setwd("C:/Users/orell/OneDrive/Escritorio/MAE/comercio exterior/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)
  
#Emsamblar los archivos en un sólo dataframe
data_importaciones<- bind_rows(lista_importacion)
#Mostrar las tablas en formato html (es para esta publicación)
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

2) Importacion de archivos y creacion de la tabla de Exportaciones.

#Cargar Paquetes
library(dplyr)
library(readr)
library(kableExtra)#Para mostrar "bonitas" las tablas en el documento
#establecer directorio de trabajo
setwd("C:/Users/orell/OneDrive/Escritorio/MAE/comercio exterior/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_exportacion <-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)
  
#Emsamblar los archivos en un sólo dataframe
data_exportaciones<- bind_rows(lista_exportacion)
#Mostrar las tablas en formato html (es para esta publicación)
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

3) Creación de tabla de comercio exterior

#cargar paquetes
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


#Sustituir 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 hizo la asignación al final de la instrucción.

#Mostrar Tabla (primeros 6 elementos)
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

4) Guardando y cargando tabla de comercio exterior

#Guardado del objeto dato_comercio_exterior
save (data_comercio_exterior, file =  "C:/Users/orell/OneDrive/Escritorio/MAE/comercio exterior/data_comercio_exterior.RData")

#Cargar datos
load("C:/Users/orell/OneDrive/Escritorio/MAE/comercio exterior/data_comercio_exterior.RData")

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

1) Actualización base (Julio 2023)

#Cargar Paquetes
library(dplyr)
library(readr)
library(kableExtra)#Para mostrar "bonitas" las tablas en el documento
#establecer directorio de trabajo
setwd("C:/Users/orell/OneDrive/Escritorio/MAE/comercio exterior/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)

#Emsamblar los archivos en un sólo dataframe
data_importaciones_update <- bind_rows(lista_importacion)

#Exportaciones
setwd("C:/Users/orell/OneDrive/Escritorio/MAE/comercio exterior/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
  


#Sustituir los Valores "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 las tablas 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 cambio el nombre para guardar la base anterior, por cualquier error que se puede cometer al actualizar o en caso de querer llevar un registro de versiones de la tabla.

save(data_comercio_exterior, file = "C:/Users/orell/OneDrive/Escritorio/MAE/comercio exterior/data_comercio_exterior_actualizada.RData")

#mostrar tabla (primeros 6 elementos)
data_comercio_exterior %>% filter(anio == 2023, mes == 07) %>% head() %>%
  kable(caption =  "Base de Comercio Exterior 2018-2023 (Julio)",
        align = "c") %>%
  add_footnote(label = "Elaboración propia con base en datos del BCR",
               notation = "symbol") %>% kable_styling()
Base de Comercio Exterior 2018-2023 (Julio)
pais sac anio mes valor_cif kilogramos_importaciones valor_fob kilogramos_exportaciones
Afganistan 6210400000 2023 7 204.75 0.1 0 0
Afganistan 6210400000 2023 7 204.75 0.1 0 0
Alemania 0602100000 2023 7 211.49 8.0 0 0
Alemania 0602100000 2023 7 211.49 8.0 0 0
Alemania 0813400000 2023 7 104.23 1.2 0 0
Alemania 0813400000 2023 7 104.23 1.2 0 0
* Elaboración propia con base en datos del BCR

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 = 999) #para mostrar todos los decimales :)
library(dplyr)
library(readxl)
#Datos
load("C:/Users/orell/OneDrive/Escritorio/MAE/comercio exterior/data_comercio_exterior_actualizada.RData")

#Pegar nombres paises
nombre_archivo <- "C:/Users/orell/OneDrive/Escritorio/MAE/comercio exterior/nombres_iso_paises.xlsx"
nombres_iso_paises <- read_excel(nombre_archivo)
data_comercio_exterior %>%
  left_join(nombres_iso_paises,
            by = c("pais" =
                     "nom_pais_esp")) %>% head() %>%
  kable(caption = "Base de Comercio Exterior 2018-2023 (Julio)",
        align = "c") %>%
  add_footnote(label = "Elaboración propia con base en datos del BCR",
               notation = "symbol") %>%  kable_styling()
Base de Comercio Exterior 2018-2023 (Julio)
pais sac anio mes valor_cif kilogramos_importaciones valor_fob kilogramos_exportaciones nom_pais_ingles iso_2 iso_3 codigo_pais region cod_region sub_region cod_sub_region region_intermedia cod_region_intermedia
Afganistan 0806200000 2018 6 6448.43 1463.92 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
Afganistan 0806200000 2018 6 6448.43 1463.92 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
Afganistan 6104220000 2018 10 3153.37 2407.61 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
Afganistan 6104220000 2018 10 3153.37 2407.61 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
Afganistan 6104620000 2018 10 946.01 722.28 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
Afganistan 6104620000 2018 10 946.01 722.28 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA
* Elaboración propia con base en datos del BCR

Obtenga un ranking, anual, de los 5 principales socios comerciales de El Salvador, para el periodo 2018-2022.

a) Importar datos:

options (scipen = 999) #para mostrar todos los decimales :)
library(dplyr)
library(readxl)
#Datos
load("C:/Users/orell/OneDrive/Escritorio/MAE/comercio exterior/data_comercio_exterior_actualizada.RData")

#Pegar nombres paises
nombre_archivo <- "C:/Users/orell/OneDrive/Escritorio/MAE/comercio exterior/nombres_iso_paises.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

b. Cálculo de ranking & porcentajes

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(tidyr)
insumo_reporte %>% 
pivot_wider(names_from = rank,values_from = data)->mi_tabla

library(kableExtra)
mi_tabla %>%
  kable(caption = "Top 5 Socios comerciales, periodo 2018-2022, datos en porcentaje de las exportaciones
totales",
        align = "c") %>%
  add_footnote(label = "Elaboración propia con base en datos del BCR",
               notation = "symbol") %>%  kable_styling()
Top 5 Socios comerciales, periodo 2018-2022, datos en porcentaje de las exportaciones totales
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|39.25 GTM|16.87 HND|15.45 NIC|7.25 CRI|4.63
2021 USA|39.44 GTM|17.33 HND|16.42 NIC|7.39 CRI|4.22
2022 USA|38.78 GTM|17.05 HND|16.65 NIC|6.98 CRI|4.27
* Elaboración propia con base en datos del BCR

h1,h2,h3,h4{
    font-size:14px;
    font-weight: bold;
    font-family: 'Times New Roman', Times, serif;
    line-height:2;
}
h1 {
    text-align: center;
}
h4{
    text-align:center;
    font-weight: bold
}
p, li{
  text-indent: 40px;
    font-size:12 px;
    font-family: 'Times New Roman', Times, serif;
      line-height: 2;
}