library(kableExtra)
Integrantes <-
  data.frame(
    Integrantes = c(
      "Keiry Margarita Umanzor Portillo",
      "Patricia Lilibeth Portillo Hernández",
      "Iris Leonor Márquez Arévalo"),
    Carné = c("UP17003", "PH17001", "MA15003"))

kable(Integrantes
) %>% kable_styling(bootstrap_options = "hover", full_width = F) 
Integrantes Carné
Keiry Margarita Umanzor Portillo UP17003
Patricia Lilibeth Portillo Hernández PH17001
Iris Leonor Márquez Arévalo MA15003

#Carga de Datos

library(dplyr)
library(readxl)
library(kableExtra)
library(stringr)
library(tidyr)
load("C:/Users/Keiry/Documents/MAE21/data_comercio_exterior_actualizada.RData")
nombre_archivo <-
  "C:/Users/Keiry/Documents/MAE21/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

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)

Ejemplo 1 Seleccione todas las transacciones, exportación e importación, para el primer trimestre de cada año disponible en el dataframe, que se han realizado con Canadá.

data_comercio_exterior %>% select("pais", "sac", "anio", "mes", "valor_fob", "valor_cif") %>% filter(pais ==
                                                                                                       "Canada", mes %in% 1:3) %>%  arrange(desc(anio), desc(mes)) %>%  head(10) %>% kable() %>% kable_minimal()
pais sac anio mes valor_fob valor_cif
Canada 0511100000 2021 3 0.00 7162.29
Canada 0602100000 2021 3 104919.78 0.00
Canada 0602909000 2021 3 7689.57 0.00
Canada 0710290000 2021 3 4920.48 0.00
Canada 0713200000 2021 3 0.00 827.02
Canada 0713334000 2021 3 0.00 2705.10
Canada 0713400000 2021 3 0.00 1299.04
Canada 0811900000 2021 3 8791.17 0.00
Canada 0901113000 2021 3 846351.00 0.00
Canada 0902300000 2021 3 0.00 729.50

Ejemplo 2 Cálculo de las exportaciones totales de El Salvador hacía Canadá, para el período 2017-2021

data_comercio_exterior %>%
  group_by(anio, pais) %>%
  summarise(Exportaciones_totales = sum(valor_fob)) %>%
  select("anio", "Exportaciones_totales", "pais") %>%
  filter(anio %in% 2017:2021, pais == "Canada") %>%
  kable(caption = "Exportaciones totales de El Salvador hacia Canada, para el período 2019-2021") %>% kable_minimal() %>% add_footnote("Elaboración propia con base en datos del BCR")
Exportaciones totales de El Salvador hacia Canada, para el período 2019-2021
anio Exportaciones_totales pais
2017 42291429 Canada
2018 21390217 Canada
2019 64275530 Canada
2020 21756456 Canada
2021 14969859 Canada
a Elaboración propia con base en datos del BCR

Ejemplo Obtenga los totales anuales de importaciones y exportaciones con el país de Canadá.

data_comercio_exterior %>%
  group_by(anio, pais) %>%
  summarise(
    `Total Exportaciones MM US$` = sum(valor_fob) / 1e6,
    `Total Importaciones MM US$` = sum(valor_cif) / 1e6
  ) %>% filter(pais == "Canada") %>% head %>% kable() %>% kable_minimal()
anio pais Total Exportaciones MM US$ Total Importaciones MM US$
2017 Canada 42.29143 81.01800
2018 Canada 21.39022 75.34713
2019 Canada 64.27553 70.42760
2020 Canada 21.75646 61.74659
2021 Canada 14.96986 101.44591

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.

options(scipen = 999999)
funcion_ranking <-
  function(anio_inicio, anio_final, ranking_k) {
    data_comercio_exterior %>%
      filter(anio >= anio_inicio, anio <= anio_final) -> data_ranking
    data_ranking %>%
      group_by(anio, iso_3) %>%
      summarise(total = sum(valor_fob)) %>%
      mutate(percent = round(prop.table(total) * 100, 2)) %>%
      slice_max(n = ranking_k , order_by = total) %>%
      as.data.frame() %>%
      group_by(anio) %>%
      mutate(ranking = row_number(),
             data = paste(iso_3, "|", percent, sep = "")) %>%
      select(anio, data, ranking) %>%
      as.data.frame() -> reporte_ranking
    
    return(reporte_ranking)
  }

Ejecutando función creada de consulta de ranking Ejemplo 1

funcion_ranking(2017, 2021, ranking_k = 3) %>%
  pivot_wider(names_from = ranking, values_from = data) -> mi_tabla
##Formato de tabla
mi_tabla %>% kable(caption = paste("Top", 3, "de Exportaciones periodo 2017-2021")) %>%
  add_footnote("Elaboración propia con base en datos del BCR") %>% kable_minimal()
Top 3 de Exportaciones periodo 2017-2021
anio 1 2 3
2017 USA|44.52 HND|13.83 GTM|13.75
2018 USA|44.07 HND|15.34 GTM|14.36
2019 USA|42.03 GTM|15.92 HND|15.9
2020 USA|39.18 GTM|16.89 HND|15.44
2021 USA|40.59 GTM|16.98 HND|15.82
a Elaboración propia con base en datos del BCR

Ejemplo 2

funcion_ranking(2017, 2021, ranking_k = 7) %>%  pivot_wider(names_from = ranking, values_from = data) -> mi_tabla_2
##Formato de tabla
mi_tabla_2 %>% kable(caption = paste("Top", 7, "de Exportaciones periodo 2017-2021")) %>%
  add_footnote("Elaboración propia con base en datos del BCR") %>% kable_minimal()
Top 7 de Exportaciones periodo 2017-2021
anio 1 2 3 4 5 6 7
2017 USA|44.52 HND|13.83 GTM|13.75 NIC|7.48 CRI|4.55 PAN|2.11 MEX|1.96
2018 USA|44.07 HND|15.34 GTM|14.36 NIC|6.87 CRI|4.39 MEX|2.44 PAN|2.09
2019 USA|42.03 GTM|15.92 HND|15.9 NIC|6.66 CRI|4.46 MEX|2.54 PAN|2.03
2020 USA|39.18 GTM|16.89 HND|15.44 NIC|7.26 CRI|4.65 MEX|2.46 PAN|1.89
2021 USA|40.59 GTM|16.98 HND|15.82 NIC|6.99 CRI|4.04 MEX|2.15 KOR|1.98
a Elaboración propia con base en datos del BCR

Ejemplo 3

funcion_ranking(2021, 2021, ranking_k = 5) %>% pivot_wider(names_from = ranking, values_from = data) -> mi_tabla_3
##Formato de tabla
mi_tabla_3 %>% kable(caption = paste("Top", 5 , "de Exportaciones periodo 2017-2021")) %>%
  add_footnote("Elaboración propia con base en datos del BCR") %>% kable_minimal()
Top 5 de Exportaciones periodo 2017-2021
anio 1 2 3 4 5
2021 USA|40.59 GTM|16.98 HND|15.82 NIC|6.99 CRI|4.04
a Elaboración propia con base en datos del BCR