load("~/Metodos/bases de datos_comercio/base_comercio_new/Nelson Jesús Carrillo Paniagua - data_parcial_1_2021.RData")
source("~/Metodos/bases de datos_comercio/base_comercio_new/funciones_comercio_exterior.R")
## 
## 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

EJERCICIO 1

##Creación de la función

library(dplyr)
PRACTICA_1<-function(segmentos=FALSE, Periodo){
            
            if(Periodo == "mensual")
            {
                if(segmentos)
                  {
                   Tabla_mensual<- ventas %>% 
                    group_by(anio, mes, Segment) %>%
                     
                    summarise(Ventas_mensuales=sum(Sales)) 
              
                    print(Tabla_mensual)
                  }
                 else{
                  Tabla_mensual<- ventas %>% 
                    group_by(anio, mes) %>%
                     
                    summarise(Ventas_mensuales=sum(Sales)) 
              
                    print(Tabla_mensual)
                     }
            }
            else{
              if(Periodo== "Trimestral"){
                  if(segmentos){
                    Tabla_trimestral<-ventas %>% 
                    group_by(anio, trimestre, Segment) %>%
                     
                    summarise(Ventas_trimestrales=sum(Sales)) 
              
                    print(Tabla_trimestral)
                  }
                  else{
                    Tabla_trimestral<-ventas %>% 
                    group_by(anio, trimestre) %>%
                     
                    summarise(Ventas_trimestrales=sum(Sales)) 
              
                    print(Tabla_trimestral)
                  }
                }
                else{
                  if(segmentos){
                  Tabla_anual<- ventas %>% 
                    group_by(anio, Segment) %>%
                     
                    summarise(Ventas_anuales=sum(Sales)) 
              
                    print(Tabla_anual)
                    }
                    else{
                      Tabla_anual<- ventas %>% 
                    group_by(anio) %>%
                     
                    summarise(Ventas_anuales=sum(Sales)) 
              
                    print(Tabla_anual)
                    }
                  }
                    
                }
              }

1.1 Las ventas totales trimestrales, para todos los segmentos.

ventas_trimestrales<-PRACTICA_1(segmentos = TRUE,Periodo = "Trimestral")
## `summarise()` has grouped output by 'anio', 'trimestre'. You can override using
## the `.groups` argument.
## # A tibble: 48 × 4
## # Groups:   anio, trimestre [16]
##     anio trimestre Segment     Ventas_trimestrales
##    <dbl>     <dbl> <chr>                     <dbl>
##  1  2015         1 Consumer                 21934.
##  2  2015         1 Corporate                13837.
##  3  2015         1 Home Office              38160.
##  4  2015         2 Consumer                 47575.
##  5  2015         2 Corporate                26856.
##  6  2015         2 Home Office              11443.
##  7  2015         3 Consumer                 94993.
##  8  2015         3 Corporate                32993.
##  9  2015         3 Home Office              14537.
## 10  2015         4 Consumer                 98455.
## # … with 38 more rows

1.2 Las ventas totales anuales para el segmento corporativo.

PRACTICA_1(segmentos = TRUE,Periodo = "anual") %>% as.data.frame()->ventas_anuales
## `summarise()` has grouped output by 'anio'. You can override using the
## `.groups` argument.
## # A tibble: 12 × 3
## # Groups:   anio [4]
##     anio Segment     Ventas_anuales
##    <dbl> <chr>                <dbl>
##  1  2015 Consumer           262957.
##  2  2015 Corporate          127797.
##  3  2015 Home Office         89102.
##  4  2016 Consumer           265356.
##  5  2016 Corporate          119676.
##  6  2016 Home Office         74404.
##  7  2017 Consumer           291143.
##  8  2017 Corporate          204977.
##  9  2017 Home Office        104072.
## 10  2018 Consumer           328604.
## 11  2018 Corporate          236044.
## 12  2018 Home Office        157404.
ventas_anuales%>% filter(Segment=="Corporate")
##   anio   Segment Ventas_anuales
## 1 2015 Corporate       127797.5
## 2 2016 Corporate       119675.6
## 3 2017 Corporate       204977.3
## 4 2018 Corporate       236043.7

1.3 Las ventas totales mensuales para el segmento consumidor.

Ventas_mensuales<- PRACTICA_1(segmentos = TRUE, Periodo = "mensual")
## `summarise()` has grouped output by 'anio', 'mes'. You can override using the
## `.groups` argument.
## # A tibble: 144 × 4
## # Groups:   anio, mes [48]
##     anio   mes Segment     Ventas_mensuales
##    <dbl> <dbl> <chr>                  <dbl>
##  1  2015     1 Consumer               6897.
##  2  2015     1 Corporate              1702.
##  3  2015     1 Home Office            5608.
##  4  2015     2 Consumer               3168.
##  5  2015     2 Corporate              1184.
##  6  2015     2 Home Office             168.
##  7  2015     3 Consumer              11869.
##  8  2015     3 Corporate             10952.
##  9  2015     3 Home Office           32384.
## 10  2015     4 Consumer               9109.
## # … with 134 more rows
Ventas_mensuales %>% filter(Segment=="Consumer")
## # A tibble: 48 × 4
## # Groups:   anio, mes [48]
##     anio   mes Segment  Ventas_mensuales
##    <dbl> <dbl> <chr>               <dbl>
##  1  2015     1 Consumer            6897.
##  2  2015     2 Consumer            3168.
##  3  2015     3 Consumer           11869.
##  4  2015     4 Consumer            9109.
##  5  2015     5 Consumer           12815.
##  6  2015     6 Consumer           25652.
##  7  2015     7 Consumer           20033.
##  8  2015     8 Consumer           15423.
##  9  2015     9 Consumer           59537.
## 10  2015    10 Consumer           16247.
## # … with 38 more rows

1- Por cada dólar exportado a la región Suramericana, en el periodo 2018-2019, ¿Cuánto se importo? (resultado por año)

library(dplyr)
library(kableExtra)
## 
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
## 
##     group_rows
options(scipen=99999)
data_comercio_exterior%>%
  filter(anio==2019,region_intermedia=="Sudamerica", valor_fob>0,valor_cif>0)%>%
  group_by(anio)%>%
  summarise(`Xijt MM USD`=sum(valor_fob)/1e6,`Mijt MM USD`=sum(valor_cif)/1e6)%>%
  mutate(Ratio =`Mijt MM USD` /`Xijt MM USD`)%>%
  select("anio","Xijt MM USD","Mijt MM USD","Ratio")%>%head()%>%kable(caption = "Cantidad importada por cada dolar exportado a la región Sudamericana.", aling="l")%>% add_footnote(label="Elaboración propia con base en datos del BCR")%>%kable_material(html_font = "sans_serif")
Cantidad importada por cada dolar exportado a la región Sudamericana.
anio Xijt MM USD Mijt MM USD Ratio
2019 11.49066 25.29053 2.200963
a Elaboración propia con base en datos del BCR

2- Calcule el IHH de El Salvador, con México, Estados Unidos y Canadá, durante el periodo 2017-2019, normalizado.

resultado_IHH = data.frame("años"=2017:2020,
                               "IHH_USA"= sapply(X=2017:2020,
                                FUN= indicadores_IHH_Herfindahl_Hirschmann_anual,
                                              codigo_pais=840,
                                              normalizado=TRUE),
                               "IHH_CAN"= sapply(X=2017:2020,
                                FUN= indicadores_IHH_Herfindahl_Hirschmann_anual,
                                              codigo_pais=124,
                                              normalizado=TRUE),
                                "IHH_MEX"= sapply(X=2017:2020,
                                FUN= indicadores_IHH_Herfindahl_Hirschmann_anual,
                                              codigo_pais=484,
                                              normalizado=TRUE))
resultado_IHH%>%head()%>%kable(caption = "IHH con USA, CAN, MEX. 2017-2020", aling="l")%>% add_footnote(label="Elaboración propia con base en datos del BCR")%>%kable_material(html_font = "sans_serif")
IHH con USA, CAN, MEX. 2017-2020
años IHH_USA IHH_CAN IHH_MEX
2017 0.0055910 0.1231022 0.0165526
2018 0.0056610 0.0084443 0.0182162
2019 0.0058727 0.1190248 0.0142813
2020 0.0098672 0.0590948 0.0146978
a Elaboración propia con base en datos del BCR

3- Calcule las exportaciones totales de El Salvador hacia la región de África Oriental, para el periodo 2017-2019 son (en millones de US$)

data_comercio_exterior%>%
  filter(region_intermedia=="África Oriental",anio %in% 2017:2020,valor_fob>0)%>%
  group_by(anio)%>%
  summarise(`Total de Exportaciones MM USD_3`=sum(valor_fob)/1e6)%>%head()%>%
  kable(caption = "Exportaciones Totales a el África Oriental:2017-2020. MM USD", aling="l")%>% add_footnote(label="Elaboración propia con base en datos del BCR")%>%kable_material(html_font = "sans_serif")
Exportaciones Totales a el África Oriental:2017-2020. MM USD
anio Total de Exportaciones MM USD_3
2017 0.6734228
2018 4.0123130
2019 0.8439266
2020 0.0007570
a Elaboración propia con base en datos del BCR

4- Obtenga el Saldo de la balanza comercial de El Salvador, con Latinoamérica, para el periodo 2017-2019, (en millones de US$)

data_comercio_exterior%>%
  filter(sub_region=="América Latina Y El Caribe",anio %in% 2017:2019)%>%
  group_by(anio)%>%summarise(`Xijt_4`=sum(valor_fob)/1e6,
                             `Mijt_4`=sum(valor_cif)/1e6)%>%
  mutate(`BC MM USD_4`=Xijt_4-Mijt_4)%>%
  select("anio","BC MM USD_4")%>%
 head()%>%kable(caption = "Saldo Balanza Comercial con Latinoamérica:2017-2019. MM USD", aling="l")%>% add_footnote(label="Elaboración propia con base en datos del BCR")%>%kable_material(html_font = "sans_serif")
Saldo Balanza Comercial con Latinoamérica:2017-2019. MM USD
anio BC MM USD_4
2017 -1024.633
2018 -1221.259
2019 -1485.784
a Elaboración propia con base en datos del BCR
  1. Con la implementación de dicha función muestre:
  2.  El top 10 para el segundo trimestre 2, para el periodo 2017-2018
  1.  El top 5 para el primero y segundo trimestre, para el periodo 2016-2018
options (scipen = 999)
library(dplyr)
library(readxl)

nombre_archivo <- "~/Metodos/bases de datos_comercio/base_comercio_new/nombres_iso_paises.xlsx"
nombres_iso_paises <- read_excel(nombre_archivo)
data_comercio_exterior %>%
  left_join(nombres_iso_paises,
            by = c("pais" = "nom_pais_esp")) -> data_comercio

#Seleccionar Años
anios_ranking<-2017:2019
data_comercio_exterior %>% 
  filter(anio %in% anios_ranking) ->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 = 10,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() -> insumo_reporte
## `summarise()` has grouped output by 'anio'. You can override using the
## `.groups` argument.
library(tidyr)
insumo_reporte %>% 
pivot_wider(names_from = rank,values_from = data)->mi_tabla
print(mi_tabla)
## # A tibble: 3 × 11
##    anio `1`       `2`       `3`       `4`    `5`   `6`   `7`   `8`   `9`   `10` 
##   <dbl> <chr>     <chr>     <chr>     <chr>  <chr> <chr> <chr> <chr> <chr> <chr>
## 1  2017 USA|44.52 HND|13.83 GTM|13.75 NIC|7… CRI|… PAN|… MEX|… DOM|… TWN|… ESP|…
## 2  2018 USA|44.07 HND|15.34 GTM|14.36 NIC|6… CRI|… MEX|… PAN|… DOM|… CHN|… ESP|…
## 3  2019 USA|41.88 GTM|15.95 HND|15.91 NIC|6… CRI|… MEX|… PAN|… DOM|… CAN|… CHN|…
library(kableExtra)
mi_tabla %>%
  kable(caption = paste("Top",10,"de Exportaciones periodo",
    min(anios_ranking),"-",max(anios_ranking))) %>% kable_minimal() %>%
add_footnote(label="Elaboración propia con base en datos del BCR",
               notation="symbol") %>%  kable_styling()
Top 10 de Exportaciones periodo 2017 - 2019
anio 1 2 3 4 5 6 7 8 9 10
2017 USA|44.52 HND|13.83 GTM|13.75 NIC|7.48 CRI|4.55 PAN|2.11 MEX|1.96 DOM|1.45 TWN|0.93 ESP|0.84
2018 USA|44.07 HND|15.34 GTM|14.36 NIC|6.87 CRI|4.39 MEX|2.44 PAN|2.08 DOM|1.65 CHN|1.45 ESP|0.82
2019 USA|41.88 GTM|15.95 HND|15.91 NIC|6.68 CRI|4.5 MEX|2.53 PAN|2.05 DOM|1.77 CAN|1.08 CHN|0.87
* Elaboración propia con base en datos del BCR