Untitled

PARCIAL 1 MAE118 JOSE ALEJANDRO BLANCO OCHOA BO20007

2022-10-05

PARTE I (TEORICA)

PREGUNTA 1

EXPLIQUE ¿QUE SON LAS ESTRUCTURAS DE DATOS?

Una estructura de datos es un espacio o contenedor para guardar información de interes para realizar operaciones ya sea ordenar, clasificar o presentar información.

PREGUNTA 2

EXPLIQUE ¿CÓMO SE CLASIFICAN LAS ESTRUCTURAS DE DATOS EN R?

Tabla_Estructura<-data.frame(Dimensiones=c("1","2","n"),
           Homogeneas= c("Vector Atomico", "Matriz", "Array"),
           Heterogeneas=c("Lista", "Data Frame"," "))
print(Tabla_Estructura)
##   Dimensiones     Homogeneas Heterogeneas
## 1           1 Vector Atomico        Lista
## 2           2         Matriz   Data Frame
## 3           n          Array

Las estructuras de datos se clasifican según el tipo de información que puedan contener o almacenar, sí estas solo albergan un tipo de información son denominadas estructuras homogeneas, estas se subdividen en Vector atomico, matriz y array. Ahora si estás estructuras almacenacen varios tipos de información se clasifica como Heterogeneas, las cuales se dividen en Listas y Data frames.

PREGUNTA 3

REPRESENTE GRÁFICAMENTE LA INSTRUCCION ANTI_JOIN(A,B) A TRAVÉS DE UN DIAGRAMA DE VENN Y EXPLIQUE SU SIGNIFICADO

Se establecerá A y B como se muestra a continuación, para mostrar un ejemplo de su uso.

library(eulerr)
A<-data.frame(team=c("A","B","C","D","E"), 
                 points=c(12,14,20,22,28))
B<-data.frame(team=c("A","B","C","F","G"), 
                 points=c(12,14,20,24,26))
data <- c(A=5,B=5,
          "A&B"=3)
venn <- euler(data)
plot(venn)

anti_join(A,B) representaría todos los elementos que pertenecen a A pero que no se encuentran en el conjunto B.(área blanca)

Su significado practico sería: si se tuviesen dos tablas o Data frames (A y B), se daría a conocer o mostrar todas la información que se contiene en A exceptuando aquella información que tambien está en B. Como se mostraría an continuación

library(dplyr)
anti_join(x = A, y = B, "team")
##   team points
## 1    D     22
## 2    E     28

PARTE II (PRACTICA)

CARGA DE DATOS A UTILIZAR

load("C:/Users/8abla/Documents/MAE118/PARCIAL 1/José Alejandro Blanco Ochoa - data_parcial_1_2021.RData")

PREPARACION DE TABLA A UTILIZAR

data_comercio_exterior %>% left_join(nombres_iso_paises,by=c("pais"="nom_pais_esp"))->data_comercio_exterior

EJERCICIO 1

Elabore una función que se llame totales_pais_anios, que use como argumento el código de país iso de tres caracteres, para elegir el socio comercial de El Salvador, y permita obtener las Exportaciones y las Importaciones para un período específico.

library(dplyr)
totales_pais_anios<-function(codigo,periodo){
  Exp_Imp_Total<-data_comercio_exterior %>% 
                  group_by(iso_3,anio) %>% 
                  summarise(Exp= sum(valor_fob)/1e6, 
                            Imp= sum(valor_cif)/1e6)
  
  Exp_Imp_Total %>% filter(iso_3==codigo, anio %in% periodo)
}

EJERCICIO 2

Usando la función creada en el ejercicio 1y los comandos que sean necesarios, genere la siguiente tabla: (nota: ratio es el cociente entre importaciones y exportaciones) GTM=Guatemala, HND=Honduras.

library(kableExtra)

tabla_HND<-totales_pais_anios("HND",2017:2020)
colnames(tabla_HND)<-c("Pais", "anio", "Exp_HND", "Imp_HND") 

tabla_HND %>% mutate(Ratio_HND=Imp_HND/Exp_HND)->tabla_HND

tabla_GTM<-totales_pais_anios("GTM", 2017:2020)
colnames(tabla_GTM)<-c("Pais", "anio", "Exp_GTM", "Imp_GTM")
tabla_GTM %>% mutate(Ratio_GTM=Imp_GTM/Exp_GTM)->tabla_GTM

tabla_HND %>% left_join(tabla_GTM, by= c("anio"="anio")) ->mi_tabla

mi_tabla %>% select("anio","Exp_HND", "Imp_HND","Ratio_HND","Exp_GTM", "Imp_GTM","Ratio_GTM")->mi_tabla

mi_tabla %>% kable(caption = paste("Tabla", " ", "No.1:", "Exportaciones, Importaciones y Ratio de El Salvador con Guatemala y Honduras expresado en Millones de Dólares")) %>% kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T, color = "black") %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia, con base en información del BCR") 
Tabla No.1: Exportaciones, Importaciones y Ratio de El Salvador con Guatemala y Honduras expresado en Millones de Dólares
anio Exp_HND Imp_HND Ratio_HND Exp_GTM Imp_GTM Ratio_GTM
2017 796.8583 583.3582 0.7320727 792.2283 1045.8558 1.320145
2018 905.7280 753.9197 0.8323909 847.9121 1169.5972 1.379385
2019 945.6884 826.9239 0.8744147 948.2554 1273.0989 1.342570
2020 474.6502 412.0073 0.8680229 523.3755 774.0205 1.478901
Fuente:
Elaboración propia, con base en información del BCR

EJERCICIO 3

Obtenga los indicadores de Balassa, para el capitulo “01”, usando las funciones provistas en clase.

CARGA DE FUNCIONES

source(
  file = "C:/Users/8abla/Documents/MAE118/funciones_comercio_exterior.R",
  echo = TRUE,
  max.deparse.length = 100,
  encoding = "utf-8"
)
## 
## > options(scipen = 999)
## 
## > library(dplyr)
## 
## > library(readxl)
## 
## > library(stringr)
## 
## > load("C:/Users/8abla/Documents/MAE118/PARCIAL 1/José Alejandro Blanco Ochoa - data_parcial_1_2021. ..." ... [TRUNCATED] 
## 
## > nombres_iso_paises <- nombres_iso_paises
## 
## > data_comercio_exterior <- data_comercio_exterior %>% 
## +     left_join(nombres_iso_paises, by = c(p .... [TRUNCATED] 
## 
## > herramientas_mostrar_paises <- function() {
## +     paises <- nombres_iso_paises %>% select(nom_pais .... [TRUNCATED] 
## 
## > herramientas_mostrar_regiones <- function() {
## +     nombres_iso_paises %>% group_by(region, cod_re .... [TRUNCATED] 
## 
## > herramientas_mostrar_paises_en_tabla <- function() {
## +     data_comercio_exterior %>% group_by(pai .... [TRUNCATED] 
## 
## > indicadores_IVCR_capitulo <- function(codigo_pais, 
## +     capitulo, anio) {
## +     codigo_pais <- e .... [TRUNCATED] 
## 
## > indicadores_IVCR_partida <- function(codigo_pais, 
## +     partida, anio) {
## +     codigo_pais <- enq .... [TRUNCATED] 
## 
## > indicadores_Balassa_capitulo <- function(codigo_pais, 
## +     capitulo, anio, normalizado = TRUE) { .... [TRUNCATED] 
## 
## > indicadores_Balassa_partida <- function(codigo_pais, 
## +     partida, anio, normalizado = TRUE) {
## + .... [TRUNCATED] 
## 
## > indicadores_IHH_Herfindahl_Hirschmann_anual_texto <- function(codigo_pais, 
## +     anio, normalizad .... [TRUNCATED] 
## 
## > indicadores_IHH_Herfindahl_Hirschmann_anual <- function(codigo_pais, 
## +     anio, normalizado = TR .... [TRUNCATED]

INDICADOR DE BALASSA

library(readr)
library(dplyr)
library(knitr)
library(kableExtra)
resultado_balassa = data.frame("años"=2017:2020,
                               "IB_GTM"= sapply(X=2017:2020,
                                              FUN= indicadores_Balassa_capitulo,
                                              codigo_pais=320,
                                              capitulo="01"),
                                "IB_HND"= sapply(X=2017:2020,
                                              FUN= indicadores_Balassa_capitulo,
                                              codigo_pais=340,
                                              capitulo="01"))
resultado_balassa%>%head()%>%
 kable(
    caption = "**Índice de Balassa: Guatemala y Honduras para el periodo 2017-2020",
    col.names = c("Año", "IB_GTM", "IB_HND"),
     align = c("c", "c", "c"),
    digits = 2
  ) %>%
  kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T) %>%
  footnote(general_title = "**Fuente:**",
           general = "Elaboración propia con base en datos del BCR")
**Índice de Balassa: Guatemala y Honduras para el periodo 2017-2020
Año IB_GTM IB_HND
2017 0.86 -0.04
2018 0.86 -0.13
2019 0.84 -0.24
2020 0.92 0.41
Fuente:
Elaboración propia con base en datos del BCR

EJERCICIO 4

Genera una función que obtenga un ranking, anual, de los “k” principales socios comerciales de El Salvador, para el período año inicio-año final. Presente sus resultados en el siguiente formato: ISO pais|% Expor.

Por default debe incluir el texto: Elaboración propia, con base en información del BCR.

Y utilizala para generar el top 10 de socios comerciales para el período 2018-2020, la tabla deberá tener el pie de página “Elaborado para el Parcial 1 MAE118-2022”

CREACION DE LA FUNCION

options(scipen=999)
library(dplyr)
library(tidyr)
library(kableExtra)
Ranking_socios_comerciales<- function(k,anios){
            anios_ranking<-anios
            data_comercio_exterior%>% 
              filter(anio %in% anios_ranking )-> data_ranking
            
            data_ranking %>% 
              group_by(anio, iso_3) %>% 
              summarise(Total_Exportaciones= sum(valor_fob)) %>% 
              mutate(porcentaje=
                       round(prop.table(Total_Exportaciones)*100,2)) %>% 
              slice_max(n=k, order_by = Total_Exportaciones) %>% 
              as.data.frame() %>% 
              group_by(anio) %>% 
              mutate(rank=row_number(),data=paste(iso_3,"|",porcentaje, sep ="")) %>%
              select(anio,data,rank) %>% 
              as.data.frame()->Exportaciones
          
          Exportaciones %>% 
              pivot_wider(names_from = rank, 
                          values_from = data)->mi_tabla
            mi_tabla %>% kable(caption = paste("TOP",k,"Socios Comerciales,", "periodo", min(anios_ranking),"-",max(anios_ranking),"datos en porcentaje de las exportaciones totales")) %>% kable_classic(html_font = "Times New Roman",
                font_size = 14) %>%
  row_spec(0, bold = T, color = "black") %>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia, con base en información del BCR") 

}

Aplicacion para generar el top 10 de socios comerciales para el período 2018-2020

Ranking_socios_comerciales(10,2018:2020)
TOP 10 Socios Comerciales, periodo 2018 - 2020 datos en porcentaje de las exportaciones totales
anio 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 propia, con base en información del BCR