Ítem 1

library(dplyr)
library(knitr)
library(kableExtra)
library(readxl)
load("E:/Jese Carpeta/R/Tareas/A14/data_comercio_exterior.RData")
data_comercio_exterior |> 
  filter(anio %in% 2018:2020) -> data_1
data_1 |> 
  head(10) |> 
  kable(caption = "Tabla 1. Datos de comercio exterior 2018-2020",
        align = "c") |> 
  add_footnote(label = "Elaboración propia con base en datos del BCR.",
               notation = 'none')
Tabla 1. Datos 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
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

Note: Elaboración propia con base en datos del BCR.

Ítem 2

master_paises_iso <- read_excel("E:/Jese Carpeta/R/Tareas/A14/master_paises_iso.xlsx")
data_1 |> 
  left_join(master_paises_iso,
            by = c("pais"="nom_pais_esp")) -> data_2
data_2 |> 
  head(10) |> 
  kable(caption = "Tabla 2. Datos de comercio exterior 2018-2020, ISO",
        align = "c") |> 
  add_footnote(label = "Elaboración propia con base en datos del BCR.",
               notation = 'none')
Tabla 2. Datos de comercio exterior 2018-2020, ISO
pais sac anio mes valor_cif kilogramos_importaciones valor_fob kilogramos_exportaciones nom_pais_ingles iso_2 iso_3 codigo_pais…5 codigo_pais…6 region cod_region sub_region cod_sub_region region_intermedia cod_region_intermedia …13
Afganistan 0806200000 2018 6 6448.43 1463.92 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6104220000 2018 10 3153.37 2407.61 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6104620000 2018 10 946.01 722.28 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6105100000 2018 10 9405.39 7181.03 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6106100000 2018 10 1353.32 1725.55 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6405900000 2018 10 2260.03 1725.55 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 8206000000 2018 10 6.56 5.02 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6404110000 2019 2 7752.13 6748.03 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6405100000 2019 2 508.03 442.24 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142
Afganistan 6405900000 2019 2 12.45 10.85 0 0 Afghanistan AF AFG 4 Asia 142 Asia Meridional 34 NA NA Asia 142

Note: Elaboración propia con base en datos del BCR.

Ítem 3

# Definición de función
tabla_top_k_html <- function(
    df_comercio,
    top_k=5,
    anios_rank,
    decimales,
    pie_pagina="Fuente: Elaboración propia, con base en información del BCR."
){
  library(dplyr)
  library(tidyr)
  df_comercio |> 
    filter(anio %in% anios_rank) |> 
    group_by(anio,iso_3) |> 
    summarize(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,"Socios comerciales, periodo",
                          min(anios_rank),"-",max(anios_rank),
                          "datos en porcentaje de las exportaciones totales.",
                          sep = " ")) |> 
    add_footnote(label = pie_pagina, notation = 'none')
}
# Aplicando la función
tabla_top_k_html(df_comercio = data_2,
                 anios_rank = 2018:2020,
                 top_k = 5,
                 decimales = 2)
Top 5 Socios comerciales, periodo 2018 - 2020 datos en porcentaje de las exportaciones totales.
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|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: Fuente: Elaboración propia, con base en información del BCR.