A14_MAE118_CH21018

Agregue la información estandarizada de los países (nombres iso de los países y regiones, etc). Muestre un head de 10 casos.

library(readxl)
library(dplyr)
library(kableExtra)

load("D:/Usuario/Escritorio/Metodos/Tarea4/Datos/data_comercio_exterior.RData")

PaisesNombres <- "D:/Usuario/Escritorio/Metodos/Tarea4/Datos/master_paises_iso.xlsx"
paises_iso <- read_excel(PaisesNombres)

data_comercio_exterior %>%
  left_join(paises_iso, 
            by = c("pais" = "nom_pais_esp")) -> data_comercio_exterior

anios_ranking<-2018:2020
data_comercio_exterior %>% 
  filter(anio %in% anios_ranking) ->data_ranking

data_ranking %>%
  select(pais,iso_3, everything()) -> data_ranking_ordenado

# Mostrar los primeros 10 registros
head(data_ranking_ordenado, 10) %>%
kable(caption = "Primeros 10 registros de Comercio Exterior (2018-2020)") %>%
  add_footnote(label = "Elaboración propia con base en datos del BCR", notation = "none")
Primeros 10 registros de Comercio Exterior (2018-2020)
pais iso_3 sac anio mes 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 0806200000 2018 6 6448.43 1463.92 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan AFG 6104220000 2018 10 3153.37 2407.61 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan AFG 6104620000 2018 10 946.01 722.28 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan AFG 6105100000 2018 10 9405.39 7181.03 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan AFG 6106100000 2018 10 1353.32 1725.55 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan AFG 6405900000 2018 10 2260.03 1725.55 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan AFG 8206000000 2018 10 6.56 5.02 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan AFG 6404110000 2019 2 7752.13 6748.03 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan AFG 6405100000 2019 2 508.03 442.24 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan AFG 6405900000 2019 2 12.45 10.85 0 0 Afghanistan AF 4 Asia 142 Asia Meridional 34 NA NA Asia 142

Note: 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-2020.

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() -> reporte

print(reporte)
##    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

Tabla en formato “RAW”

library(tidyr)
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

Tabla en 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 en datos del BCR", notation = "none")
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: Elaboración propia con base en datos del BCR

Implementación de funciones personalizadas.

tabla_top_k_raw<-function(df_comercio,top_k=5,anios_ranking,decimales=2
){
library(dplyr)
library(tidyr)
df_comercio %>% 
  filter(anio %in% anios_ranking) %>% 
  group_by(anio,iso_3) %>% 
  summarise(total=sum(valor_fob)) %>%           
  mutate(percent=round(prop.table(total)*100,decimales)) %>% 
  slice_max(n = top_k,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() %>% rename(`Año`=anio) %>%
  pivot_wider(names_from = rank,values_from = data)->tabla
  print(tabla)
}

tabla_top_k_pretty<-function(df_comercio,
                             top_k=5,
                             anios_ranking,
                             decimales=2,
                             pie_pagina= "Elaboración propia con base en datos del BCR"){
library(dplyr)
library(tidyr)
library(kableExtra)
df_comercio %>% 
  filter(anio %in% anios_ranking) %>% 
  group_by(anio,iso_3) %>% 
  summarise(total=sum(valor_fob)) %>%           
  mutate(percent=round(prop.table(total)*100,decimales)) %>% 
  slice_max(n = top_k,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() %>% rename(`Año`=anio) %>% 
  pivot_wider(names_from = rank,values_from = data) %>% as.data.frame() %>%   kable(caption = paste("Top",top_k,"de Exportaciones periodo",
    min(anios_ranking),"-",max(anios_ranking))) %>%
  add_footnote(label = pie_pagina)
}

Ejemplos de uso de las Funciones

tabla_top_k_raw(df_comercio = data_comercio_exterior,
                anios_ranking =2018:2020,
                top_k = 5,
                decimales = 2 )
## # A tibble: 3 × 6
##     Año `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
tabla_top_k_pretty(df_comercio = data_comercio_exterior,
                   anios_ranking =c(2018:2020),
                   top_k = 5,
                   decimales = 5,
                   pie_pagina = "Elaboración propia con base en datos del BCR")
Top 5 de Exportaciones periodo 2018 - 2020
Año 1 2 3 4 5
2018 USA|44.07074 HND|15.33929 GTM|14.36013 NIC|6.87498 CRI|4.39038
2019 USA|41.87525 GTM|15.95499 HND|15.9118 NIC|6.67964 CRI|4.49781
2020 USA|35.73385 GTM|16.89778 HND|15.21469 NIC|7.65173 CRI|5.21066

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