PARCIAL 1 EXTRA

UNIVERSIDAD DE EL SALVADOR

FACULTAD DE CIENCIAS ECONÓMICAS

ESCUELA DE ECONOMÍA

CICLO II-2022

Asignatura:

Metodos del analisis econommico.

Docente:

Carlos Ademir Pérez Alas.

Actividad:

“Parcial 1 ordinario puntos adicionales”

Grupo Teórico:

2

Estudiante:

Abel Antonio Bolaños Peña-BP18001

Ciudad Universitaria, miércoles 12 de octubre de 2022.

PARTE TEORICA

Ejercicio 1

EXPLIQUE LAS FORMAS DE ACCEDER AL ELEMENTO “j” DE UNA LISTA “A” QUE ESTA EN LA POSICION “i” DE UNA LISTA “B” (el elemento “j” de la lista “A” tiene la etiqueta “hijo” y dentro de la lista “B”, la lista “A” tiene la etiqueta “padre”)

B<-list(PADRE=c("hijo","hija","otro"),MADRE=c(4,5,-6),otra=c("J","K","L"))
#1 LLAMAMOS AL OBJETO "b"
#2 LLAMAR AL ELEMENTO "A" DENTRO DE "B"
#3 LLAMAR ALARGUMENTO "j" DENTRO DE "A" 
B$PADRE[1]
## [1] "hijo"
B[[1]][[1]]
## [1] "hijo"

Ejercicio 2

  1. Explique ¿CÓMO SE CLASIFICAN LAS ESTRCTURAS DE DATOS EN R?
#LAS ESTRUCTURAS DE DATOS SON CONJUNTOS DE VARIABLES ORDENADAS QUE SE CLASIFICAN SEGUN LA DIMENSION DE DUCHA ESTRUCTURA, DICHAS ESTRUCTURAS PUEDEN SER HOMOGENEAS O HETEROGENEAS

##HOMOGENEAS: ESTRUCTURAS DENTRO DE LAS CUALES LAS VARIABLES SON DE UN SOLO TIPO ESPECIFICO YA SEA NUMERICO, DECIMAL, LOGICA O TEXTUAL
###VECTOR ATOMICO: ESTRUCTURAS DE UNA DIMENSION YA SEA VERTICAL U HORIZONTAL QUE TIENE UN SOLO TIPO DE DATOS DE LOS YA MENCIONADOS
###MATRIZ: ESTRUCTURA BIDIMENSIONAL || UNION DE VARIOS VECTORES ATOMICOS, DENTRO DE LAS CUALES SE PUEDE TENER UN SOLO TIPO DE VARIABLE
###ARRAY: SN CONJUNTOS DE DATOS DE DIMENSION "n"

##HETEROGENEAS: ESTRUCTURAS DENTRO DE LAS CUALES LAS VARIABLES PUEDEN SER DE MAS DE UN TIPO DE VARIABLE YA SEA NUMERICO, DECIMAL, LOGICO Y TEXTUAL
###LISTA:CONJUNTO UNIDIMENSIONAL DE VARIABLES DE VARIOS TIPOS DE LAS YA MENCIONADAS
###DATAFRAME: ESTRUCTURA BIDIMENSIONAL || UNION DE VARIAS LISTAS, QUE PUEDEN COTENER DIFERENTES TIPOS DE VARIABLES DE LAS YA MENCIONADAS

Ejercicio 3

REPRESENTE GRAFICAMNETE LA INSTRUCCION right_join(A,B) A TRAVÉS DE UN DIAGRAMA DE VENN Y EXPLIQUE SU SIGNIFICADO PRACTICO

library(eulerr)
data <- c(A=100,
          B=100 ,
          "A&B"=25)
right_join<- euler(data)
plot(right_join)

#LA INSTRUCCION RIGHT_JOIN SE REFIERE A LA UNION DE DOS DATA FRAME EN ESTE CASO EL DATA FRAME "B" MANTENDRA TODAS SUS FILAS Y A ESTAS SE LE UNIRA SEGUN LA VARIABLE DE REFERENCIA LAS FILAS EQUIVALENTES EN EL DATA FRAME "A"

PARTE PRACTICA USANDO LA BASE DE COMERCIO EXTERIOR PROPORCIONADO N CLASES, RESUELVA LOS SIGUIENTES EJERCICIOS

load("C:/doc R/CLOUD/data_comercio_parcial.RData")

Ejercicio practico 1

ELABORE UNA FUNCION QUE SE LLAME totales_pais_anios que use como argumentos el código de pais iso de tres caracteres, para elegir el socio comercial de El Salvador y permita obtener las exortaciones y las importaciones para un periodo especifico

library(dplyr)
## 
## 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
library(readxl)
library(stringr)
options (scipen = 999)
nombre_archivo<-"C:/doc R/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_exterior
totales_pais_anios<- function(iso_3,anio) { 
data_comercio_exterior %>%
  filter(iso_3=="iso_3",anio==!!anio) %>%
  group_by(anio) %>%
  summarise(Exportaciones=sum(valor_fob)/1e6,
            Importaciones=sum(valor_cif)/1e6)->Resultado
  Resultado
}

Ejercicio practico 2

USANDO LA FUNCION CREADA EN EL EJERCICIO 1 Y LOS COMANDOS QUE SEAN NECESARIOS, GENERE LA SIGUIENTE TABLA

library(dplyr)
library(stringr)
library(readxl)
library(readr)
library(tidyr)
library(kableExtra)
## 
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
## 
##     group_rows
options (scipen = 999)
data_comercio_exterior %>%
  filter(iso_3=="PAN",anio==2017:2020) %>%
  group_by(anio) %>% summarise(`Exportaciones_PAN`= sum(valor_fob)/1e6,
            `Importaciones_PAN`= sum(valor_cif)/1e6) %>%
  mutate(`Ratio_PAN`= Exportaciones_PAN / Importaciones_PAN) %>%
  select("anio","Exportaciones_PAN","Importaciones_PAN","Ratio_PAN") %>% head() %>%
  kable(
    caption = "Exportaciones, Importaciones y Ratio de El Salvador con Panama del periodo de 2017 a 2020")%>%
  footnote(general_title = "Fuente:",
           general = "Elaboración propia con base en datos del BCR.")
## Warning in anio == 2017:2020: longitud de objeto mayor no es múltiplo de la
## longitud de uno menor
Exportaciones, Importaciones y Ratio de El Salvador con Panama del periodo de 2017 a 2020
anio Exportaciones_PAN Importaciones_PAN Ratio_PAN
2017 28.66906 13.404044 2.138837
2018 33.26081 8.369784 3.973915
2019 35.68042 11.769804 3.031522
2020 15.89959 2.068571 7.686269
Fuente:
Elaboración propia con base en datos del BCR.
data_comercio_exterior %>%
  filter(iso_3=="BLZ",anio==2017:2020) %>%
  group_by(anio) %>% summarise(`Exportaciones_BLZ`= sum(valor_fob)/1e6,
            `Importaciones_BLZ`= sum(valor_cif)/1e6) %>%
  mutate(`Ratio_BLZ`= Exportaciones_BLZ / Importaciones_BLZ) %>%
  select("anio", "Exportaciones_BLZ", "Importaciones_BLZ","Ratio_BLZ") %>% head() %>%
  kable(
    caption = "Exportaciones e Importaciones y Ratio de El Salvador con Belice del periodo de 2017 a 2020")%>%
  footnote(general_title = "Fuente:",
           general = "Elaboración propia con base en datos del BCR.")
## Warning in anio == 2017:2020: longitud de objeto mayor no es múltiplo de la
## longitud de uno menor
Exportaciones e Importaciones y Ratio de El Salvador con Belice del periodo de 2017 a 2020
anio Exportaciones_BLZ Importaciones_BLZ Ratio_BLZ
2017 3.082391 0.3624609 8.504064
2018 4.736076 0.1596101 29.672783
2019 4.824193 0.0937788 51.442247
2020 2.669074 0.0589327 45.290213
Fuente:
Elaboración propia con base en datos del BCR.

Ejercicio practico 3

OBTENGA LOS INDICADORES DE BALASSA PARA EL CAPITULO “01” USANDO LAS FUNCIONES PROVISTAS EN CLASE

#####Funciones para el cálculo de indicadores de comercio exterior.
#Versión 2.0
#Desarrollo en R: 
# MSF. Carlos Ademir Pérez 
# Docente Facultad de Ciencias Económicas, 
# Universidad de El Salvador
# Fuente de las fórmulas: 
# Durán Lima, José E. y Mariano Alvarez,
# "Indicadores de comercio exterior y política comercial:
# mediciones de posición y dinamismo comercial", 
# CEPAL, 2008, disponible en: 
# https://repositorio.cepal.org/bitstream/handle/11362/3690/S2008794_es.pdf
#------------------------------------------------------------#
#Carga de paquetes auxiliares
options (scipen = 999) #para mostrar todos los decimales :)
##### Cálculo de Indicadores ######
library(dplyr)
library(readxl)
library(stringr)
#Data para las funciones
load("C:/doc R/CLOUD/data_comercio_parcial.RData")
nombre_archivo<-"C:/doc R/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_exterior
#------------------------------------------------------------
#Función para mostrar los países
herramientas_mostrar_paises<-function(){
  nombres_iso_paises %>% 
    select(nom_pais_esp, 
           codigo_pais,
           region,
           cod_region,
           region_intermedia,
           cod_region_intermedia)->paises
  paises
}
#------------------------------------------------------------
#función para ver regiones
herramientas_mostrar_regiones<-function(){
  nombres_iso_paises %>% 
    group_by(region,
             cod_region,
             region_intermedia,
             cod_region_intermedia) %>% 
    summarise(`# de Paises incluidos`=n()) 
}
#------------------------------------------------------------
# países disponibles en la tabla de comercio_exterior
herramientas_mostrar_paises_en_tabla<-function(){
  data_comercio_exterior %>% group_by(pais,anio) %>%
    summarise(`# Transacciones`=n())
}
  

#------------------------------------------------------------
#Indice de Ventaja Comparativa Revelada | Capitulo | Anual 
indicadores_IVCR_capitulo<-function(codigo_pais,capitulo,anio){
enquo(codigo_pais)->codigo_pais
enquo(anio)->anio
data_comercio_exterior %>% filter(codigo_pais==!!codigo_pais) %>% 
  mutate(capitulo=str_sub(sac,start = 1,end = 2)) %>%
  filter(capitulo==!!capitulo,anio==!!anio) %>% 
  select(valor_cif,valor_fob) %>% 
  summarise(Xijt=sum(valor_fob),
            Mijt=sum(valor_cif)) %>% 
  mutate(dif=Xijt-Mijt) %>% 
  select(dif) ->numerador
####
data_comercio_exterior %>% 
  mutate(capitulo=str_sub(sac,start = 1,end = 2)) %>%
  filter(capitulo==!!capitulo,anio==!!anio) %>% 
  select(valor_cif,valor_fob) %>% 
  summarise(Xijt=sum(valor_fob),
            Mijt=sum(valor_cif)) %>% 
  mutate(suma=abs(Xijt+Mijt)) %>% 
  select(suma) ->denominador
as.vector(numerador/denominador)->resultado
resultado$dif
}
#------------------------------------------------------------
#Indice de Ventaja Comparativa Revelada | Partida | Anual 
indicadores_IVCR_partida<-function(codigo_pais,partida,anio){
  enquo(codigo_pais)->codigo_pais
  enquo(anio)->anio
  data_comercio_exterior %>% 
    filter(codigo_pais==!!codigo_pais,
           partida==!!partida,anio==!!anio) %>% 
    select(valor_cif,valor_fob) %>% 
    summarise(Xijt=sum(valor_fob),
              Mijt=sum(valor_cif)) %>% 
    mutate(dif=Xijt-Mijt) %>% 
    select(dif) ->numerador
  ####
  data_comercio_exterior %>% 
    filter(codigo_pais==!!codigo_pais,
           partida==!!partida,anio==!!anio) %>% 
    select(valor_cif,valor_fob) %>% 
    summarise(Xijt=sum(valor_fob),
              Mijt=sum(valor_cif)) %>% 
    mutate(suma=abs(Xijt+Mijt)) %>% 
    select(suma) ->denominador
  as.vector(numerador/denominador)->resultado
  resultado$dif
}
#------------------------------------------------------------
# Indice de Balassa | capitulo | anual
indicadores_Balassa_capitulo<-function(codigo_pais,
                                       capitulo,
                                       anio,
                                       normalizado=TRUE){
  enquo(codigo_pais)->codigo_pais
  enquo(anio)->anio
#  Exportaciones del producto k realizadas por el país i hacia el país j. 
  data_comercio_exterior %>% filter(codigo_pais==!!codigo_pais) %>% 
    mutate(capitulo=str_sub(sac,start = 1,end = 2)) %>%
    filter(capitulo==!!capitulo,anio==!!anio) %>% 
    select(valor_fob) %>% 
    summarise(Xijt=sum(valor_fob)) %>% 
    select(Xijt) ->a
# Exportaciones totales del país i al país j
data_comercio_exterior %>% 
  filter(codigo_pais==!!codigo_pais,
         anio==!!anio) %>% 
  select(valor_fob) %>% 
  summarise(Xijt=sum(valor_fob)) %>% 
  select(Xijt) ->b
# Exportaciones del capitulo k realizadas por el país i hacia el mundo (w) 
data_comercio_exterior %>%
  mutate(capitulo=str_sub(sac,start = 1,end = 2)) %>%
  filter(capitulo==!!capitulo,anio==!!anio) %>% 
  select(valor_fob) %>% 
  summarise(Xijt=sum(valor_fob)) %>% 
  select(Xijt) ->c
# Exportaciones totales del país i al mundo (w)
data_comercio_exterior %>%
  select(valor_fob) %>% 
  summarise(Xijt=sum(valor_fob)) %>% 
  select(Xijt) ->d

resultado<-as.numeric((a/b)/(c/d))
ifelse(normalizado==FALSE,
  return(resultado),
return((resultado-1)/(resultado+1)))
}
#------------------------------------------------------------
# Indice de Balassa | partida | anual
indicadores_Balassa_partida<-function(codigo_pais,
                                       partida,
                                       anio,
                                       normalizado=TRUE){
  enquo(codigo_pais)->codigo_pais
  enquo(anio)->anio
  #  Exportaciones del producto k realizadas por el país i hacia el país j. 
  data_comercio_exterior %>% filter(codigo_pais==!!codigo_pais) %>% 
    filter(partida==!!partida,anio==!!anio) %>% 
    select(valor_fob) %>% 
    summarise(Xijt=sum(valor_fob)) %>% 
    select(Xijt) ->a
  # Exportaciones totales del país i al país j
  data_comercio_exterior %>% 
    filter(codigo_pais==!!codigo_pais,
           anio==!!anio) %>% 
    select(valor_fob) %>% 
    summarise(Xijt=sum(valor_fob)) %>% 
    select(Xijt) ->b
  # Exportaciones del capitulo k realizadas por el país i hacia el mundo (w) 
  data_comercio_exterior %>%
    filter(partida==!!partida,anio==!!anio) %>% 
    select(valor_fob) %>% 
    summarise(Xijt=sum(valor_fob)) %>% 
    select(Xijt) ->c
  # Exportaciones totales del país i al mundo (w)
  data_comercio_exterior %>%
    select(valor_fob) %>% 
    summarise(Xijt=sum(valor_fob)) %>% 
    select(Xijt) ->d
  
  resultado<-as.numeric((a/b)/(c/d))
  ifelse(normalizado==FALSE,
         return(resultado),
         return((resultado-1)/(resultado+1)))
}
#------------------------------------------------------------
# Indice de Herfindahl Hirschmann como aparece en el Texto| anual
indicadores_IHH_Herfindahl_Hirschmann_anual_texto<-function(codigo_pais,
                                                      anio,
                                                      normalizado=TRUE){
  enquo(codigo_pais)->codigo_pais
  enquo(anio)->anio
  data_comercio_exterior %>% 
    filter(codigo_pais==!!codigo_pais,anio==!!anio) %>% 
    select(valor_fob) %>% filter(valor_fob>0)->Xij
  data_comercio_exterior %>% 
    filter(anio==!!anio) %>% 
    select(valor_fob) %>% summarise(total=sum(valor_fob)) %>%
    as.numeric()->XTi
  
  sum((Xij$valor_fob/XTi)^2)->suma_sqrt_ij
  length(Xij$valor_fob)->n
  ifelse(normalizado==TRUE,
  return(suma_sqrt_ij-1/n)/(1-1/n),
  return(suma_sqrt_ij))
}
#------------------------------------------------------------
# Indice de Herfindahl Hirschmann | anual
indicadores_IHH_Herfindahl_Hirschmann_anual<-function(codigo_pais,
                                                      anio,
                                                      normalizado=TRUE){
  enquo(codigo_pais)->codigo_pais
  enquo(anio)->anio
  data_comercio_exterior %>% 
    filter(codigo_pais==!!codigo_pais,anio==!!anio) %>% 
    select(valor_fob) %>% filter(valor_fob>0) %>% 
    select(valor_fob) %>% prop.table()->a
  sum(a^2)->sum_sqrt
  length(a$valor_fob)->n

   
  ifelse(normalizado==TRUE,
         return((sum_sqrt-1/n)/(1-1/n)),
         return(sum_sqrt))
}<- funciones_comercio_exterior
library(dplyr)
library(kableExtra)
capitulo<-"01"
data_frame("anios"=2017:2020,
           "IB_PAN"=sapply(X=2017:2020,FUN = indicadores_Balassa_capitulo ,codigo_pais=591,capitulo=capitulo),
           "IB_BLZ"=sapply(X=2017:2020,FUN = indicadores_Balassa_capitulo,codigo_pais=84,capitulo=capitulo))%>%
  kable(caption = "Indicador de Balassa de El Salvador con: Panama y Belice, durante el periodo 2017-2020, para el capitulo “01” del SAC",
        digits = 2,align = "l")%>%
  kable_styling(bootstrap_options = "striped",
                full_width = TRUE)%>% 
  add_footnote(label="Elaboración propia con base en datos del BCR",
               notation="symbol") %>%  kable_minimal()
## Warning: `data_frame()` was deprecated in tibble 1.1.0.
## Please use `tibble()` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was generated.
Indicador de Balassa de El Salvador con: Panama y Belice, durante el periodo 2017-2020, para el capitulo “01” del SAC
anios IB_PAN IB_BLZ
2017 -0.91 -1
2018 -0.73 -1
2019 -0.84 -1
2020 -1.00 -1
* Elaboración propia con base en datos del BCR

Ejercicio practico 4

GENERA UNA FUNCION QUE OBTENGA UN RANKING, ANUAL, DE LOS “K” PRINCIPALES SOCIOS COMERCIALES DE EL SALVADOR PARA EL PERIODO año inicio-año final

ranking_socios_comerciales <-
  function(anios_ranking = 2018:2020,
           numero_socios = 10,
           posiciones_decimales = 2,
           titulo_pie_tabla = "Fuente:",
           pie_tabla = "Elaboración para el Parcial 1 MAE118 2022") {
    
    #Filtro Años Requeridos
    data_comercio_exterior %>%
      filter(anio %in% anios_ranking) -> data_ranking
    
    #Cálculo de Porcentajes
    data_ranking %>%
      group_by(anio, iso_3) %>%
      summarise(total = sum(valor_fob)) %>%
      mutate(percent = round(prop.table(total) * 100, posiciones_decimales)) %>%
      slice_max(n = numero_socios, 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
    names(insumo_reporte) <- c("Año", "Data", "Rank")
    
    #Formato Tabla original
    library(tidyr)
    insumo_reporte %>%
      pivot_wider(names_from = Rank, values_from = Data) -> mi_tabla
    
    #Formato Tabla Final
    library(kableExtra)
    mi_tabla %>%
      kable(
        caption = paste(
          "Top",
          numero_socios,
          "de Exportaciones Periodo",
          min(anios_ranking),
          "-",
          max(anios_ranking),
          "."
        ),
        align = "c"
      ) %>%
      kable_classic(html_font = "Times New Roman",
                    font_size = 14) %>%
      column_spec(1, bold = T) %>%
      row_spec(0, bold = T, color = "black") %>%
      footnote(general_title = titulo_pie_tabla,
               general = pie_tabla)
  }
ranking_socios_comerciales()
## `summarise()` has grouped output by 'anio'. You can override using the
## `.groups` argument.
Top 10 de Exportaciones Periodo 2018 - 2020 .
Año 1 2 3 4 5 6 7 8 9 10
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%
2020 USA|36.8% GTM|16.92% HND|15.34% NIC|7.52% CRI|5.08% MEX|2.42% PAN|1.97% DOM|1.81% KOR|1.61% CHN|1.6%
Fuente:
Elaboración para el Parcial 1 MAE118 2022