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")
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”
## # 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")
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")
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