UNIVERSIDAD DE EL SALVADOR

FACULTAD DE CIENCIAS ECONÓMICAS

ESCUELA DE ECONOMÍA

CICLO II-2021

Asignatura:

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

Facilitador:

Carlos Ademir Pérez Alas.

Contenido:

Laboratorio 1 Segunda Parte.

Grupo Teórico:

03.

Integrantes:

Hernández Cartagena, Karla Mireya. HC18035.

Mejía Ramos, Carlos Arnoldo. MR18006.

Meléndez Morales, Kennya Elizabeth. MM16049.

Novoa Rubio, Fernando Enrique. NR18001.

Ciudad Universitaria, miércoles 8 de septiembre de 2021.

Cargando Librerias y Base de Datos

library(readxl)
library(dplyr)
library(kableExtra)
#Cargando la Base de Datos
load(
  "C:/Users/KENNYA/Desktop/MAE/BD/Comercio Exterior/data_comercio_exterior_actualizada.RData"
)
#Cargando Base de Nombres ISO
nombre_archivo <-
  "C:/Users/KENNYA/Desktop/MAE/BD/Comercio Exterior/nombres_iso_paises.xlsx"
nombres_iso_paises <- read_excel(nombre_archivo)

#Asignando Nombres
data_comercio_exterior <-
  data_comercio_exterior %>%
  left_join(nombres_iso_paises,
            by = c("pais" = "nom_pais_esp"))

Sección 1

Reproduzca los ejemplos vistos en clase sobre el uso de la librería dplyr, usando la información actualizada recopilada en la tarea 1, y usando los nombres estandarizados que se han agregado para los países, utilice países diferentes a los que se emplearon en los ejemplos (queda a elección del grupo los paises).

Manipulación de Dataframe a través dplyr

SELECT

Permite seleccionar las columnas (variables) de un dataframe.

Sintaxis simple: dataframe %>% select(columna1,columna2,…) Las columnas pueden ir en el orden que se desee (o que se necesite), no obligatoriamente en el orden en que aparecen en el dataframe.

Ejemplo 1

Usando la base de datos de comercio exterior, para El Salvador, creada en la sesión anterior, seleccione las columnas de “pais”, “sac”,“anio”,“mes”,“valor_cif”.

data_comercio_exterior %>%
  select("pais", "sac", "anio", "mes", "valor_cif") %>%
  head(10) %>%
  kable(
    caption = "**Tabla 1:** Ejemplo 1 uso de Select",
    col.names = c("País", "SAC", "Año", "Mes", "Valor CIF"),
    align = c("c", "c", "c", "c", "r")
  ) %>%
  kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T) %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia con base en datos del BCR.")
Tabla 1: Ejemplo 1 uso de Select
País SAC Año Mes Valor CIF
Afganistan 0806200000 2018 6 6448.43
Afganistan 6104220000 2018 10 3153.37
Afganistan 6104620000 2018 10 946.01
Afganistan 6105100000 2018 10 9405.39
Afganistan 6106100000 2018 10 1353.32
Afganistan 6405900000 2018 10 2260.03
Afganistan 8206000000 2018 10 6.56
Afganistan 6404110000 2019 2 7752.13
Afganistan 6405100000 2019 2 508.03
Afganistan 6405900000 2019 2 12.45
Fuente:
Elaboración propia con base en datos del BCR.

FILTER

Permite seleccionar las filas (casos) de un dataframe, con base en el cumplimiento de criterios.

Sintaxis simple:

dataframe %>% filter(columna1 operadores “criterio 1”,columna2 operadores "criterio 2, …)

Ejemplo 1

Seleccione todas las transacciones de exportación del año 2020, con Ecuador o Colombia, que sean superiores a los 200,000 US$

library(dplyr)
data_comercio_exterior %>%
  filter(anio == "2020",
         pais %in% c("Ecuador", "Colombia"),
         valor_fob > 200000) %>%
  select("pais", "sac", "anio", "mes", "valor_fob", ) %>%
  kable(
    caption = "**Tabla 2:** Ejemplo 1 del uso de Filter",
    col.names = c("País", "SAC", "Año", "Mes", "Valor FOB"),
    align = c("c", "c", "c", "c", "r", "r", "r", "r"),
    digits = 2
  ) %>%
  kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T) %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia con base en datos del BCR.")
Tabla 2: Ejemplo 1 del uso de Filter
País SAC Año Mes Valor FOB
Colombia 8805290000 2020 2 6597227.0
Colombia 1604149000 2020 3 530540.6
Colombia 1604149000 2020 4 460196.6
Colombia 3004201000 2020 7 233930.3
Colombia 3004201000 2020 8 391147.3
Ecuador 0303440000 2020 1 394021.1
Ecuador 7308900000 2020 1 290604.2
Ecuador 0303440000 2020 3 445517.4
Ecuador 2710192100 2020 4 220080.0
Ecuador 3402200000 2020 4 440858.5
Ecuador 0303440000 2020 9 294121.8
Ecuador 7602000000 2020 9 362260.6
Ecuador 7602000000 2020 10 333229.8
Ecuador 7602000000 2020 11 319692.7
Ecuador 7602000000 2020 12 235596.8
Fuente:
Elaboración propia con base en datos del BCR.

Ejemplo 2

Seleccione todas las transacciones, exportación e importación, para el último trimestre de cada año disponible en el dataframe, que se han realizado con Argelia

data_comercio_exterior %>%
  filter(pais == "Argelia", mes %in% 10:12) %>%
  select(
    "pais",
    "sac",
    "anio",
    "mes",
    "valor_cif",
    "kilogramos_importaciones",
    "valor_fob",
    "kilogramos_exportaciones"
  ) %>%
  kable(
    caption = "**Tabla 3:** Ejemplo 2 del uso de Filter",
    col.names = c(
      "País",
      "SAC",
      "Año",
      "Mes",
      "Valor CIF",
      "Kg Importaciones",
      "Valor FOB",
      "Kg Exportaciones"
    ),
    align = c("c", "c", "c", "c", "r", "r", "r", "r")
  ) %>%
  kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T) %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia con base en datos del BCR.")
Tabla 3: Ejemplo 2 del uso de Filter
País SAC Año Mes Valor CIF Kg Importaciones Valor FOB Kg Exportaciones
Argelia 2510200000 2018 10 145.23 2.60 0.0 0.0
Argelia 3004202000 2018 12 0.00 0.00 89220.0 5794.0
Argelia 3004502000 2018 12 0.00 0.00 44220.0 1921.0
Argelia 3004909200 2018 12 0.00 0.00 157512.0 7366.0
Argelia 3102100000 2019 10 9413.59 24832.50 0.0 0.0
Argelia 2523210000 2019 11 761.24 28.50 0.0 0.0
Argelia 3004202000 2019 11 0.00 0.00 29049.6 1473.0
Argelia 3004502000 2019 11 0.00 0.00 91260.0 3351.0
Argelia 3004909200 2019 11 0.00 0.00 163252.0 8066.0
Argelia 3926200000 2019 11 299.09 18.14 0.0 0.0
Argelia 3102100000 2019 12 9796.00 24832.50 0.0 0.0
Argelia 3004202000 2020 12 0.00 0.00 219930.5 9836.0
Argelia 3004502000 2020 12 0.00 0.00 65130.0 2144.5
Argelia 3004909200 2020 12 0.00 0.00 94400.0 3221.5
Fuente:
Elaboración propia con base en datos del BCR.

Ejemplo 3

Seleccione todas las transacciones, exportación e importación, para el último trimestre de cada año disponible en el dataframe, y que excluyan el comercio con Afganistan, Albania y Ecuador.

library(purrr)
#librería necesaria para la función personalizada `%not_in%`
`%not_in%` <-
  purrr::negate(`%in%`) #esta función permite excluir los elementos que se incluyan en un vector
data_comercio_exterior %>%
  filter(mes %in% 10:12,
         pais %not_in% c("Afganistan", "Albania", "Ecuador")) %>%
  select(
    "pais",
    "sac",
    "anio",
    "mes",
    "valor_cif",
    "kilogramos_importaciones",
    "valor_fob",
    "kilogramos_exportaciones"
  ) %>%
  head(14) %>%
  kable(
    caption = "**Tabla 4:** Ejemplo 3 uso de Filter",
    col.names = c(
      "País",
      "SAC",
      "Año",
      "Mes",
      "Valor CIF",
      "Kg Importaciones",
      "Valor FOB",
      "Kg Exportaciones"
    ),
    align = c("c", "c", "c", "c", "r", "r", "r", "r")
  ) %>%
  kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T) %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia con base en datos del BCR.")
Tabla 4: Ejemplo 3 uso de Filter
País SAC Año Mes Valor CIF Kg Importaciones Valor FOB Kg Exportaciones
Alemania 0106200000 2018 10 0.00 0.00 2900.0 55.00
Alemania 0409000000 2018 10 0.00 0.00 40800.0 21636.24
Alemania 0602100000 2018 10 28993.34 62.00 0.0 0.00
Alemania 1105201000 2018 10 19257.17 15500.00 0.0 0.00
Alemania 1108120000 2018 10 4.37 1.22 0.0 0.00
Alemania 1108130000 2018 10 14780.32 17960.00 0.0 0.00
Alemania 1109000000 2018 10 56648.38 24288.00 0.0 0.00
Alemania 1210200000 2018 10 4658.05 176.00 0.0 0.00
Alemania 1301909000 2018 10 0.00 0.00 33990.0 1175.00
Alemania 1302191000 2018 10 6212.31 140.30 0.0 0.00
Alemania 1604149000 2018 10 0.00 0.00 100495.8 21498.00
Alemania 1701990000 2018 10 81.99 3.79 0.0 0.00
Alemania 1702110000 2018 10 19.13 3.47 0.0 0.00
Alemania 1806310000 2018 10 651.20 87.32 0.0 0.00
Fuente:
Elaboración propia con base en datos del BCR.

MUTATE

Permiten agregar transformaciones de columnas (variables) de un dataframe. mutate agrega nuevas variables con la transformación de las columnas.

Sintaxis simple:

dataframe %>% mutate(nueva_variable= operaciones con variables, …)

Ejemplo 1

Calcule el saldo de la balanza comercial para todas las transacciones, disponibles en la base de comercio exterior.

data_comercio_exterior %>%
  mutate(saldo_bc = valor_fob - valor_cif) %>%
  select("pais", "sac", "anio", "mes", "saldo_bc") %>%
  head(14) %>%
  kable(
    caption = "**Tabla 5:** Ejemplo 1 uso de Mutate",
    col.names = c("País", "SAC", "Año", "Mes", "Saldo BC"),
    align = c("c", "c", "c", "c", "r", "r", "r", "r")
  ) %>%
  kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T) %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia con base en datos del BCR.")
Tabla 5: Ejemplo 1 uso de Mutate
País SAC Año Mes Saldo BC
Afganistan 0806200000 2018 6 -6448.43
Afganistan 6104220000 2018 10 -3153.37
Afganistan 6104620000 2018 10 -946.01
Afganistan 6105100000 2018 10 -9405.39
Afganistan 6106100000 2018 10 -1353.32
Afganistan 6405900000 2018 10 -2260.03
Afganistan 8206000000 2018 10 -6.56
Afganistan 6404110000 2019 2 -7752.13
Afganistan 6405100000 2019 2 -508.03
Afganistan 6405900000 2019 2 -12.45
Afganistan 8414510000 2019 2 -1262.76
Afganistan 8509400000 2019 2 -81.25
Afganistan 8516400000 2019 2 -232.93
Afganistan 8523521000 2019 2 -50.66
Fuente:
Elaboración propia con base en datos del BCR.

Ejemplo 2

Calcule las exportaciones y las importaciones como porcentaje del comercio total, en cada transacción disponible en la base de comercio exterior, muestre sólo aquellas partidas que registren exportaciones.

data_comercio_exterior %>%
  mutate(Xpt = round(valor_fob / (valor_cif + valor_fob) * 100, 2),
         Mpt = round(valor_cif / (valor_cif + valor_fob) * 100, 2)) %>%
  select("pais", "sac", "anio", "mes", "Xpt", "Mpt") %>% filter(Xpt > 0) %>%
  head(14) %>%
  kable(
    caption = "**Tabla 6:** Ejemplo 2 uso de Mutate",
    col.names = c("País", "SAC", "Año", "Mes", "Xpt", "Mpt"),
    align = "c"
  ) %>%
  kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T) %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia con base en datos del BCR.")
Tabla 6: Ejemplo 2 uso de Mutate
País SAC Año Mes Xpt Mpt
Afganistan 3004909100 2019 9 100 0
Afganistan 7009920000 2021 5 100 0
Afganistan 8302419000 2021 5 100 0
Afganistan 8306290000 2021 5 100 0
Afganistan 9401710000 2021 5 100 0
Afganistan 9403200000 2021 5 100 0
Afganistan 9403600000 2021 5 100 0
Albania 1701140000 2019 2 100 0
Alemania 0106200000 2018 1 100 0
Alemania 0409000000 2018 1 100 0
Alemania 0901113000 2018 1 100 0
Alemania 0901210000 2018 1 100 0
Alemania 5202990000 2018 1 100 0
Alemania 6101300000 2018 1 100 0
Fuente:
Elaboración propia con base en datos del BCR.

ARRANGE

Permite ordenar las filas del dataframe(ascendente A-Z o descendente Z-A), por una o varias columnas (variables).

Sintaxis simple:

dataframe %>% arrange(variable 1, desc(variable 2), …)

Nota: si la ordenación que se requiere es descendente, escriba la variable dentro de la función desc(), como se indica en la sintaxis. Esta función fue implementada también al momento de generar la Base de Comercio Exterior que estamos usando.

Ejemplo

Ordenar los resultados del Ejemplo 2 de mutate, mostrando primero los resultados más recientes.

data_comercio_exterior %>%
  mutate(Xpt = round(valor_fob / (valor_cif + valor_fob) * 100, 2),
         Mpt = round(valor_cif / (valor_cif + valor_fob) * 100, 2)) %>% 
  select("pais", "sac", "anio", "mes", "Xpt", "Mpt") %>%
  filter(Xpt > 0) %>%
  arrange(desc(anio), desc(mes)) %>%
  head(14) %>%
  kable(
    caption = "**Tabla 7:** Ejemplo del uso de Arrange",
    col.names = c("País", "SAC", "Año", "Mes", "Xpt", "Mpt"),
    align = c("c", "c", "c", "c", "r", "r", "r", "r")
  ) %>%
  kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T) %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia con base en datos del BCR.")
Tabla 7: Ejemplo del uso de Arrange
País SAC Año Mes Xpt Mpt
Alemania 0409000000 2021 7 100.00 0.00
Alemania 0901113000 2021 7 100.00 0.00
Alemania 1604149000 2021 7 100.00 0.00
Alemania 3808930000 2021 7 99.78 0.22
Alemania 3919101000 2021 7 0.02 99.98
Alemania 3923309900 2021 7 0.06 99.94
Alemania 4202990000 2021 7 100.00 0.00
Alemania 4908900000 2021 7 30.59 69.41
Alemania 5202990000 2021 7 100.00 0.00
Alemania 5512990000 2021 7 100.00 0.00
Alemania 5807100000 2021 7 100.00 0.00
Alemania 5807900000 2021 7 100.00 0.00
Alemania 6103430000 2021 7 100.00 0.00
Alemania 6104630000 2021 7 100.00 0.00
Fuente:
Elaboración propia con base en datos del BCR.

SUMMARISE

Permite realizar operaciones de agregación de columnas (variables), de cualquier tipo, suma, producto, incluso funciones personalizadas.

Puede usarse en conjunto con group_by para obtener agregados a nivel de grupos.

Sintaxis simple:

dataframe %>% group_by(variable 1, variable 2…) %>% summarise(resultado 1= función de agregación(variable),resultado 2= función de agregación(variable)

Ejemplo 1

Obtenga los totales anuales de importaciones y exportaciones.

data_comercio_exterior %>%
  group_by(anio) %>%
  summarise(
    `Total Exportaciones MM US$` = sum(valor_fob) / 1e6,
    `Total Importaciones MM US$` = sum(valor_cif) / 1e6
  ) %>%
  kable(
    caption = "**Tabla 8:** Ejemplo 1 del uso de Summarise.",
    col.names = c("Año", "Total Exportaciones MM US$", "Total Importaciones MM US$"),
    digits = 2
  ) %>%
  kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T) %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia con base en datos del BCR.")
Tabla 8: Ejemplo 1 del uso de Summarise.
Año Total Exportaciones MM US$ Total Importaciones MM US$
2018 5905.41 11464.32
2019 5904.73 11603.84
2020 5044.01 10326.58
2021 3846.31 8354.54
Fuente:
Elaboración propia con base en datos del BCR.

Ejemplo 2

Obtenga los totales anuales de importaciones y exportaciones, que se realizan por país.

data_comercio_exterior %>%
  group_by(pais, anio) %>%
  summarise(
    `Total Exportaciones` = sum(valor_fob),
    `Total Importaciones` = sum(valor_cif)
  ) %>%
  head(14) %>%
  kable(
    caption = "**Tabla 9:** Ejemplo 2 del uso de Summarise.",
    col.names = c("País", "Año", "Total Exportaciones", "Total Importaciones"),
    align = c("c", "c", "r", "r"),
    digits = 2
  ) %>%
  kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T) %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia con base en datos del BCR.")
Tabla 9: Ejemplo 2 del uso de Summarise.
País Año Total Exportaciones Total Importaciones
Afganistan 2018 0.00 23573.11
Afganistan 2019 382.13 13113.77
Afganistan 2020 0.00 5426.74
Afganistan 2021 37873.33 0.00
Albania 2018 0.00 18307.36
Albania 2019 51392.50 25660.16
Albania 2020 0.00 368297.55
Albania 2021 0.00 27110.62
Alemania 2018 20425282.52 181276788.54
Alemania 2019 21447920.87 168946136.71
Alemania 2020 36222618.69 164207992.58
Alemania 2021 34467744.76 109009061.33
Andorra 2018 23164.75 180474.98
Andorra 2019 30916.48 3565724.12
Fuente:
Elaboración propia con base en datos del BCR.

Uso de funciones personalizadas para el cálculo de indicadores

Carga de las funciones

source(
  file = "C:/Users/KENNYA/Desktop/MAE/BD/Comercio Exterior/funciones_comercio_exterior.R",
  echo = TRUE,
  max.deparse.length = 100,
  encoding = "utf-8"
)
## 
## > options(scipen = 999)
## 
## > library(dplyr)
## 
## > library(readxl)
## 
## > library(stringr)
## 
## > load("C:/Users/KENNYA/Desktop/MAE/BD/Comercio Exterior/data_comercio_exterior_actualizada.RData")
## 
## > nombre_archivo <- "C:/Users/KENNYA/Desktop/MAE/BD/Comercio Exterior/nombres_iso_paises.xlsx"
## 
## > nombres_iso_paises <- read_excel(nombre_archivo)
## 
## > data_comercio_exterior <- data_comercio_exterior %>% 
## +     left_join(nombres_iso_paises, by = c(p .... [TRUNCATED] 
## 
## > herramientas_mostrar_paises <- function() {
## +     paises <- nombres_iso_paises %>% select(nom_pais .... [TRUNCATED] 
## 
## > herramientas_mostrar_regiones <- function() {
## +     nombres_iso_paises %>% group_by(region, cod_re .... [TRUNCATED] 
## 
## > herramientas_mostrar_paises_en_tabla <- function() {
## +     data_comercio_exterior %>% group_by(pai .... [TRUNCATED] 
## 
## > indicadores_IVCR_capitulo <- function(codigo_pais, 
## +     capitulo, anio) {
## +     codigo_pais <- e .... [TRUNCATED] 
## 
## > indicadores_IVCR_partida <- function(codigo_pais, 
## +     partida, anio) {
## +     codigo_pais <- enq .... [TRUNCATED] 
## 
## > indicadores_Balassa_capitulo <- function(codigo_pais, 
## +     capitulo, anio, normalizado = TRUE) { .... [TRUNCATED] 
## 
## > indicadores_Balassa_partida <- function(codigo_pais, 
## +     partida, anio, normalizado = TRUE) {
## + .... [TRUNCATED] 
## 
## > indicadores_IHH_Herfindahl_Hirschmann_anual_texto <- function(codigo_pais, 
## +     anio, normalizad .... [TRUNCATED] 
## 
## > indicadores_IHH_Herfindahl_Hirschmann_anual <- function(codigo_pais, 
## +     anio, normalizado = TR .... [TRUNCATED]

Herramientas de Consulta de Países

herramientas_mostrar_paises() %>%
  head() %>%
  kable(
    caption = "**Tabla 10:** Ejemplo uso de la Funcion Consulta Paises",
    col.names = c(
      "Nombre País en Español",
      "Código País",
      "Región",
      "Código Región",
      "Región Intermedia",
      "Código Región Intermedia"
    ),
    align = "c",
    digits = 2
  ) %>%
  kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T) %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia con base en datos del BCR.")
Tabla 10: Ejemplo uso de la Funcion Consulta Paises
Nombre País en Español Código País Región Código Región Región Intermedia Código Región Intermedia
Afganistan 4 Asia 142 NA NA
Albania 8 Europa 150 NA NA
Alemania 276 Europa 150 NA NA
Andorra 20 Europa 150 NA NA
Angola 24 África 2 África Central 17
Anguila (R.U.) 660 Américas 19 Caribe 29
Fuente:
Elaboración propia con base en datos del BCR.

Herramientas de Consulta de Regiones

herramientas_mostrar_regiones() %>%
  head(10) %>%
  kable(
    caption = "**Tabla 11:** Ejemplo uso de la Funcion Consulta Regiones.",
    col.names = c(
      "Región",
      "Código Región",
      "Región Intermedia",
      "Código Región Intermedia",
      "Numero de Países Incluidos"
    ),
    align = "c",
    digits = 2
  ) %>%
  kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T) %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia con base en datos del BCR.")
Tabla 11: Ejemplo uso de la Funcion Consulta Regiones.
Región Código Región Región Intermedia Código Región Intermedia Numero de Países Incluidos
África 2 África Central 17 8
África 2 Africa Del Sur 18 5
África 2 África Occidental 11 16
África 2 África Oriental 14 17
África 2 NA NA 6
Américas 19 Caribe 29 26
Américas 19 Centroamérica 13 8
Américas 19 Sudamerica 5 13
Américas 19 NA NA 5
Asia 142 NA NA 50
Fuente:
Elaboración propia con base en datos del BCR.

Herramientas de Consulta de Paises con transacciones en la tabla

herramientas_mostrar_paises_en_tabla() %>%
  head(10) %>%
  kable(
    caption = "**Tabla 12:** Ejemplo uso de la Funcion Consulta Transacciones por País.",
    col.names = c("País", "Año", "Número de Transacciones"),
    align = "c",
    digits = 2
  ) %>%
  kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T) %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia con base en datos del BCR.")
Tabla 12: Ejemplo uso de la Funcion Consulta Transacciones por País.
País Año Número de Transacciones
Afganistan 2018 7
Afganistan 2019 10
Afganistan 2020 29
Afganistan 2021 6
Albania 2018 27
Albania 2019 46
Albania 2020 26
Albania 2021 12
Alemania 2018 9661
Alemania 2019 9599
Fuente:
Elaboración propia con base en datos del BCR.

Uso de Indicador de Ventaja Comparativa Revelada

Ejemplo 1

En este ejemplo se analizará el IVCR con Guatemala, para el periodo 2018-2021, para al capitulo “03”.

Resultados_IVCR <- data.frame(
  "Años" = 2018:2021,
  "IVCR" = sapply(
    X = 2018:2021,
    FUN = indicadores_IVCR_capitulo,
    codigo_pais = 320,
    capitulo = "03"
  )
)
Resultados_IVCR %>%
  kable(
    caption = "**Tabla 13:** Ejemplo 1 uso de la Funcion Consulta IVCR.",
    align = "l",
    digits = 2
  ) %>%
  kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T) %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia con base en datos del BCR.")
Tabla 13: Ejemplo 1 uso de la Funcion Consulta IVCR.
Años IVCR
2018 0.00
2019 0.01
2020 0.08
2021 0.13
Fuente:
Elaboración propia con base en datos del BCR.

Ejemplo 2

En este ejemplo se analizará el IVCR con Guatemala, para el periodo 2018-2021, para el producto “0312130000”

Resultados_IVCR_sac <- data.frame(
  "Años" = 2018:2021,
  "IVCR" = sapply(
    X = 2018:2021,
    FUN = indicadores_IVCR_partida,
    codigo_pais = 320,
    partida = "0312130000"
  )
)
Resultados_IVCR_sac %>%
  kable(
    caption = "**Tabla 14:** Ejemplo 2 uso de la Función Consulta IVCR.",
    align = "l",
    digits = 2
  ) %>%
  kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T) %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia con base en datos del BCR.")
Tabla 14: Ejemplo 2 uso de la Función Consulta IVCR.
Años IVCR
2018 -0.15
2019 -0.15
2020 -0.18
2021 -0.16
Fuente:
Elaboración propia con base en datos del BCR.

Uso de Indicador de Balassa

Ejemplo 1

En este ejemplo se analizará el indice de Balassa con Guatemala, para el periodo 2018-2021, para al capitulo “03”

Resultados_Balassa <- data.frame(
  "Años" = 2018:2021,
  "IB" = sapply(
    X = 2018:2021,
    FUN = indicadores_Balassa_capitulo,
    codigo_pais = 320,
    capitulo = "03"
  )
)
Resultados_Balassa %>%
  kable(
    caption = "**Tabla 15:** Ejemplo 1 uso de la Función Consulta del Índice Balassa.",
    align = "l",
    digits = 6
  ) %>%
  kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T) %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia con base en datos del BCR.")
Tabla 15: Ejemplo 1 uso de la Función Consulta del Índice Balassa.
Años IB
2018 -0.196009
2019 0.147130
2020 0.657299
2021 0.823452
Fuente:
Elaboración propia con base en datos del BCR.

Ejemplo 2

En este ejemplo se analizará el IB con Guatemala, para el periodo 2018-2021, para el producto “0312130000”

Resultados_IB_sac <- data.frame(
  "Años" = 2018:2021,
  "IB" = sapply(
    X = 2018:2021,
    FUN = indicadores_Balassa_partida,
    codigo_pais = 320,
    partida = "0312130000",
    normalizado = TRUE
  )
)
Resultados_IB_sac %>%
  kable(
    caption = "**Tabla 16:** Ejemplo 2 uso de la Función Consulta del Índice Balassa.",
    align = "l",
    digits = 6
  ) %>%
  kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T) %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia con base en datos del BCR.")
Tabla 16: Ejemplo 2 uso de la Función Consulta del Índice Balassa.
Años IB
2018 0.556082
2019 0.556122
2020 0.608148
2021 0.686614
Fuente:
Elaboración propia con base en datos del BCR.

Uso de Indicador de Herfindahl Hirschmann anual

Ejemplo 1

Uso de Indicador de Herfindahl Hirschmann anual

Resultados_IHH <-
  data.frame(
    "Años" = 2018:2021,
    "IHH" = sapply(
      X = 2018:2021,
      FUN = indicadores_IHH_Herfindahl_Hirschmann_anual,
      codigo_pais = 320,
      normalizado = TRUE
    )
  )
Resultados_IHH %>%
  kable(
    caption = "**Tabla 17:** Ejemplo 1 uso de la Función Consulta del IHH.",
    align = "l",
    digits = 6
  ) %>%
  kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T) %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia con base en datos del BCR.")
Tabla 17: Ejemplo 1 uso de la Función Consulta del IHH.
Años IHH
2018 0.001258
2019 0.001518
2020 0.001185
2021 0.001880
Fuente:
Elaboración propia con base en datos del BCR.

Ejemplo 2

Uso de Indicador de Herfindahl Hirschmann anual propuesto en el texto

Resultados_IHH_texto <-
  data.frame(
    "Años" = 2018:2021,
    "IHH" = sapply(
      X = 2018:2021,
      FUN = indicadores_IHH_Herfindahl_Hirschmann_anual_texto,
      codigo_pais = 320,
      normalizado = TRUE
    )
  )
Resultados_IHH_texto %>%
  kable(
    caption = "**Tabla 18:** Ejemplo 2 uso de la Función Consulta del IHH.",
    align = "l",
    digits = 6
  ) %>%
  kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T) %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia con base en datos del BCR.")
Tabla 18: Ejemplo 2 uso de la Función Consulta del IHH.
Años IHH
2018 -0.000054
2019 -0.000040
2020 -0.000054
2021 -0.000084
Fuente:
Elaboración propia con base en datos del BCR.

Sección 2

Genere una función personalizada que Obtenga un ranking, anual, de los “K” principales socios comerciales de El Salvador, para el periodo año inicio-año final.

Creación de la Función

top_socios_comerciales <-
  function(anios_ranking = 2018:2021,
           numero_socios = 5,
           posiciones_decimales = 2,
           titulo_pie_tabla = "Fuente:",
           pie_tabla = "Elaboración propia con base en datos del BCR.") {
    
    #Filtro Años Requeridos
    data_comercio_exterior %>%
      filter(anio %in% anios_ranking) -> data_ranking
    
    #Cálculo de Porcentajes
    data_ranking %>%
      group_by(anio, iso_3) %>%
      summarise(total = sum(valor_fob)) %>%
      mutate(percent = round(prop.table(total) * 100, posiciones_decimales)) %>%
      slice_max(n = numero_socios, 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
    names(insumo_reporte) <- c("Año", "Data", "Rank")
    
    #Formato Tabla original
    library(tidyr)
    insumo_reporte %>%
      pivot_wider(names_from = Rank, values_from = Data) -> mi_tabla
    
    #Formato Tabla Final
    library(kableExtra)
    mi_tabla %>%
      kable(
        caption = paste(
          "Top",
          numero_socios,
          "de Exportaciones Periodo",
          min(anios_ranking),
          "-",
          max(anios_ranking),
          "."
        ),
        align = "c"
      ) %>%
      kable_classic(html_font = "Times New Roman",
                    font_size = 14) %>%
      column_spec(1, bold = T) %>%
      row_spec(0, bold = T, color = "black") %>%
      footnote(general_title = titulo_pie_tabla,
               general = pie_tabla)
  }

Pruebas

#Prueba con Valores por Default
top_socios_comerciales()
Top 5 de Exportaciones Periodo 2018 - 2021 .
Año 1 2 3 4 5
2018 USA|44.07% HND|15.34% GTM|14.36% NIC|6.87% CRI|4.39%
2019 USA|42.03% GTM|15.92% HND|15.9% NIC|6.66% CRI|4.46%
2020 USA|39.18% GTM|16.89% HND|15.44% NIC|7.26% CRI|4.65%
2021 USA|40.59% GTM|16.98% HND|15.82% NIC|6.99% CRI|4.04%
Fuente:
Elaboración propia con base en datos del BCR.
#Prueba Seleccionando nuevos valores
top_socios_comerciales(
  2018:2020,
  6,
  1,
  "Nota:",
  "Esta tabla ha sido elaborada en base a Data Actualizada del Comercio Exterior del BCR."
)
Top 6 de Exportaciones Periodo 2018 - 2020 .
Año 1 2 3 4 5 6
2018 USA|44.1% HND|15.3% GTM|14.4% NIC|6.9% CRI|4.4% MEX|2.4%
2019 USA|42% GTM|15.9% HND|15.9% NIC|6.7% CRI|4.5% MEX|2.5%
2020 USA|39.2% GTM|16.9% HND|15.4% NIC|7.3% CRI|4.6% MEX|2.5%
Nota:
Esta tabla ha sido elaborada en base a Data Actualizada del Comercio Exterior del BCR.