1. Con base en la información disponible en la “Base de Datos de Comercio Exterior” del BCR,incluida en el archivo .RData disponible para esta tarea, para los años 2018-2020. 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.

library(dplyr)  #  para manipulación y filtrado de datos
## 
## 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)  # para estilizar las tablas
## 
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
## 
##     group_rows
load("C:/Users/hp/Downloads/data_comercio_exterior.RData")  # Carga el archivo

# vector que contiene los años 2018, 2019 y 2020
anios_ranking <- 2018:2020  

# Filtra el conjunto de datos para incluir solo las filas con los años 2018 a 2020
data = filter(data_comercio_exterior, anio %in% 2018:2020)  

# Selecciona las primeras 10 filas de los datos filtrados
head(data, 10) |> 
  
# Crea una tabla 
  kable(caption="El Salvador: Base de Importaciones 2018-2020", align="c") %>%  
  kable_classic() %>%  # Aplica un estilo clásico a la tabla
  add_footnote(label="Elaboración propia con base en datos del BCR", notation="symbol")  # Añade una nota al pie de página citando la fuente de los datos
El Salvador: Base de Importaciones 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
Afganistan 8206000000 2018 10 6.56 5.02 0 0
Afganistan 6404110000 2019 2 7752.13 6748.03 0 0
Afganistan 6405100000 2019 2 508.03 442.24 0 0
Afganistan 6405900000 2019 2 12.45 10.85 0 0
* Elaboración propia con base en datos del BCR

2. 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.

library(readxl)  
master_paises_iso <- read_excel("C:\\Users\\hp\\Downloads\\master_paises_iso.xlsx")  
## New names:
## • `codigo_pais` -> `codigo_pais...5`
## • `codigo_pais` -> `codigo_pais...6`
## • `` -> `...13`
# emparejar la columna 'pais' con la columna 'nom_pais_esp' del archivo Excel
data_ranking = left_join(data, master_paises_iso, by = c("pais" = "nom_pais_esp")) 

# Reordena las columnas
data_ranking = select(data_ranking, pais, iso_3, anio, mes, everything())  

# Seleccionar  las primeras 10 filas del conjunto de datos combinado
head(data_ranking, 10) |>  
  
  # Crear tabla
  kable(caption="El Salvador: Base de Importaciones 2018-2020", align="c") %>%  
  kable_classic() %>%  
  add_footnote(label="Elaboración propia con base en datos del BCR", notation="symbol")  
El Salvador: Base de Importaciones 2018-2020
pais iso_3 anio mes sac valor_cif kilogramos_importaciones valor_fob kilogramos_exportaciones nom_pais_ingles iso_2 codigo_pais…5 codigo_pais…6 region cod_region sub_region cod_sub_region region_intermedia cod_region_intermedia …13
Afganistan AFG 2018 6 0806200000 6448.43 1463.92 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan AFG 2018 10 6104220000 3153.37 2407.61 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan AFG 2018 10 6104620000 946.01 722.28 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan AFG 2018 10 6105100000 9405.39 7181.03 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan AFG 2018 10 6106100000 1353.32 1725.55 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan AFG 2018 10 6405900000 2260.03 1725.55 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan AFG 2018 10 8206000000 6.56 5.02 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan AFG 2019 2 6404110000 7752.13 6748.03 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan AFG 2019 2 6405100000 508.03 442.24 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan AFG 2019 2 6405900000 12.45 10.85 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142
* Elaboración propia con base en datos del BCR

3. Obtenga un ranking, anual, de los 5 principales socios comerciales de El Salvador, para el periodo 2018-2020. Presente sus resultados en el siguiente formato: Top 5 Socios comerciales, periodo 2018-2020, datos en porcentaje de las exportaciones totales.

Calculo de ranking y porcentajes

data_ranking %>%  # Iniciar proceso con el conjunto de datos 'data_ranking'.
  
  group_by(anio, iso_3) %>%  # Agrupar datos por año y por el codigo del pais

  summarise(total = sum(valor_fob)) %>%  # Calcula el total del valor FOB ('valor_fob') de exportaciones para cada país en cada año.
  
  mutate(percent = round(prop.table(total) * 100, 2)) %>%  # Calcula el porcentaje de exportaciones por país, lo multiplica por 100 y lo redondea a 2 decimales.
  
  slice_max(n = 5, order_by = total) %>%  # Selecciona los 5 países con el mayor valor de exportaciones ('total') en cada grupo.
  
  as.data.frame() %>%  # Convierte el resultado en un data frame estándar para facilitar su manipulación.
  
  group_by(anio) %>%  # Reagrupa los datos por año ('anio') para preparar el ranking por año.
  
  mutate(rank = row_number(),  # Asigna un número de rango ('rank') a cada país dentro de su año.
         data = paste(iso_3, "|", percent, sep = "")) %>%  # Crea una columna 'data' combinando el código ISO ('iso_3') y el porcentaje de exportaciones ('percent').

  select(anio, data, rank) %>%  # Selecciona únicamente las columnas 'anio', 'data' (ISO y porcentaje) y 'rank'.
  
  as.data.frame() -> insumo_reporte  # Convierte el resultado final en un data frame y lo guarda en el objeto 'insumo_reporte'.
## `summarise()` has grouped output by 'anio'. You can override using the
## `.groups` argument.
print(insumo_reporte)  # Imprime el contenido de 'insumo_reporte', mostrando el ranking de los 5 principales países exportadores por año.
##    anio      data rank
## 1  2018 USA|44.07    1
## 2  2018 HND|15.34    2
## 3  2018 GTM|14.36    3
## 4  2018  NIC|6.87    4
## 5  2018  CRI|4.39    5
## 6  2019 USA|41.88    1
## 7  2019 GTM|15.95    2
## 8  2019 HND|15.91    3
## 9  2019  NIC|6.68    4
## 10 2019   CRI|4.5    5
## 11 2020 USA|35.73    1
## 12 2020  GTM|16.9    2
## 13 2020 HND|15.21    3
## 14 2020  NIC|7.65    4
## 15 2020  CRI|5.21    5

Formato RAW

library(tidyr)
insumo_reporte %>%
pivot_wider(names_from = rank,values_from = data)->tabla
print(tabla)
## # A tibble: 3 × 6
##    anio `1`       `2`       `3`       `4`      `5`     
##   <dbl> <chr>     <chr>     <chr>     <chr>    <chr>   
## 1  2018 USA|44.07 HND|15.34 GTM|14.36 NIC|6.87 CRI|4.39
## 2  2019 USA|41.88 GTM|15.95 HND|15.91 NIC|6.68 CRI|4.5 
## 3  2020 USA|35.73 GTM|16.9  HND|15.21 NIC|7.65 CRI|5.21

Formato requerido

library(kableExtra)
tabla %>%
kable(caption = paste("Top",5,"de Exportaciones periodo",
min(anios_ranking),"-",max(anios_ranking))) %>%
add_footnote(label = "Elaboración propia con base a datos del BCR")
Top 5 de Exportaciones periodo 2018 - 2020
anio 1 2 3 4 5
2018 USA|44.07 HND|15.34 GTM|14.36 NIC|6.87 CRI|4.39
2019 USA|41.88 GTM|15.95 HND|15.91 NIC|6.68 CRI|4.5
2020 USA|35.73 GTM|16.9 HND|15.21 NIC|7.65 CRI|5.21

Note: aElaboración propia con base a datos del BCR