Con base a la informacion disponible en la “Base de datos de Comercio Exterior” del BCR, para los años 2018-2020 cree una tabla tal como se mostro en clase sin incluir los nombres ISO.
Muestre un head de los primeros 10 casos.
## Warning: package 'dplyr' was built under R version 4.4.1
##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
## Warning: package 'kableExtra' was built under R version 4.4.1
##
## Adjuntando el paquete: 'kableExtra'
## The following object is masked from 'package:dplyr':
##
## group_rows
## Warning: package 'tidyr' was built under R version 4.4.1
load("C:/Users/dinau/Downloads/data_comercio_exterior.RData")
data_comercio_exterior %>% replace_na(
list(
valor_cif = 0,
valor_fob = 0,
kilogramos_importaciones = 0,
kilogramos_exportaciones = 0
)
) %>%
arrange(pais, anio, mes, sac) -> data_comercio_exterior
#Filtro
data_comer_ext_filtrada<- data_comercio_exterior %>%
filter(anio >= 2018 & anio <=2020)
#Tabla
data_comer_ext_filtrada %>% head(10) %>%
kable(caption = "Base de datos de comercio Exterior 2018-2020", align = "c") %>% kable_styling()| 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 |
Agregue la informacion estandarizadas de los paises, muestre un head en los primeros 10 casos.
## Warning: package 'readxl' was built under R version 4.4.1
## New names:
## • `codigo_pais` -> `codigo_pais...5`
## • `codigo_pais` -> `codigo_pais...6`
## • `` -> `...13`
paises_iso <- paises_iso %>%
select(iso_3, region, pais = nom_pais_esp)
data_comercio_exterior %>% left_join(
paises_iso,
by = "pais") -> data_ce_iso
#ordenando
data_ce_iso <- data_ce_iso %>%
select(pais,iso_3, region, everything())
data_ce_iso %>%
head(10) %>%
kable(caption = "Base de Comercio Exterior con codigos ISO y regiones", align = "c") %>%
kable_styling()| pais | iso_3 | region | sac | anio | mes | valor_cif | kilogramos_importaciones | valor_fob | kilogramos_exportaciones |
|---|---|---|---|---|---|---|---|---|---|
| Afganistan | AFG | 142 | 4010390000 | 2017 | 4 | 58.06 | 0.92 | 0 | 0 |
| Afganistan | AFG | 142 | 6812999000 | 2017 | 4 | 88.38 | 1.39 | 0 | 0 |
| Afganistan | AFG | 142 | 8487900000 | 2017 | 4 | 20.93 | 0.33 | 0 | 0 |
| Afganistan | AFG | 142 | 8511800000 | 2017 | 4 | 98.93 | 1.56 | 0 | 0 |
| Afganistan | AFG | 142 | 8708930000 | 2017 | 4 | 62.18 | 0.98 | 0 | 0 |
| Afganistan | AFG | 142 | 9028200000 | 2017 | 4 | 130.06 | 2.05 | 0 | 0 |
| Afganistan | AFG | 142 | 6913100000 | 2017 | 12 | 650.43 | 5.49 | 0 | 0 |
| Afganistan | AFG | 142 | 7326209000 | 2017 | 12 | 2.00 | 0.01 | 0 | 0 |
| Afganistan | AFG | 142 | 0806200000 | 2018 | 6 | 6448.43 | 1463.92 | 0 | 0 |
| Afganistan | AFG | 142 | 6104220000 | 2018 | 10 | 3153.37 | 2407.61 | 0 | 0 |
Obtenga un ranking anual, de los 5 principales socios comerciales de El Salvador en el periodo 2018-2020 y muestre el formato que se le establecio.
library(dplyr)
library(tidyr)
library(readxl)
paises_iso <- read_excel("C:/Users/dinau/Downloads/master_paises_iso.xlsx")## New names:
## • `codigo_pais` -> `codigo_pais...5`
## • `codigo_pais` -> `codigo_pais...6`
## • `` -> `...13`
paises_iso <- paises_iso %>%
select(iso_3, region, pais = nom_pais_esp)
data_comer_ext_filtrada %>% left_join(
paises_iso,
by = "pais") -> data_comer_ext_iso
#ordenando
data_comer_ext_iso <- data_comer_ext_iso %>%
select(pais, iso_3, region, everything())
ranking_anios<- 2018:2020
data_comer_ext_iso %>%
filter(anio %in% ranking_anios) -> 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= 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() -> data_ranka_top_5## `summarise()` has grouped output by 'anio'. You can override using the
## `.groups` argument.
## 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
library(tidyr)
data_ranka_top_5 %>%
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
library(kableExtra)
tabla %>%
kable(caption = paste("Top",5,"de Exportaciones periodo",
min(2018),"-",max(2020))) %>%
add_footnote(label = "Elaboración propia con base en datos del BCR") | 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 en datos del BCR