Parte I

1. Explique las formas de acceder al elemento “j” de una lista A que está en la posición “i” de una lista B. nota: el elemento “j” de la lista A tiene la etiqueta “hijo” y dentro de la lista B, la lista A tiene la etiqueta “padre”

R// B[[i]][[j]] la lista B, llama a los elementos ‘i’, para luego llamar al elemento ‘j’ de A

2. Explique, ¿Cómo se clasifican las estructuras de datos en R?

R// según Luis Ferro, las estructuras son: “Las colecciones o conjunto de datos en R se organizan por su dimensión (1º, 2º, o varias dimensiones) y si son homogéneas (todos los objetos deben ser del mismo tipo) o heterogéneas (el contenido puede ser de diferentes tipos)”. Dimensión 1: Homogéneas: Vector atómico Heterogéneas: Lista Dimensión 2: Homogéneas: Matriz Heterogéneas: Data Frame dimensión n: homogéneas: Array

3. Represente gráficamente la instrucción 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)

R// RIGHT JOIN une dos tablas y obtiene filas en función de una condición, que coincide tanto en las tablas como en las filas no coincidentes que también estarán disponibles en la tabla escrita después de la cláusula JOIN.

Parte 2

load("/cloud/project/Alexis Antonio Torres Rosales - data_parcial_1_2021.RData")

#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 periodo específico.

options(scipen=999)
library(dplyr)
library(readxl)

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 2:Usando la función creada en el ejercicio 1 y los comandos que sean necesarios, genere la siguiente tabla: (nota ratio es el cociente entre Importaciones y Exportaciones) PAN=Panamá, BLZ=Belice.

library(kableExtra)
options(scipen=999)
library(dplyr)
library(readxl)

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`= Importaciones_PAN / Exportaciones_PAN) %>%
  select("anio", "Exportaciones_PAN", "Importaciones_PAN","ratio_PAN") %>% head() %>%
  kable(
    caption = "Exportaciones e Importaciones de 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: longer object length is not a multiple of shorter
## object length
Exportaciones e Importaciones de Panama del periodo de 2017 a 2020
anio Exportaciones_PAN Importaciones_PAN ratio_PAN
2017 28.66906 13.404044 0.4675439
2018 33.26081 8.369784 0.2516410
2019 35.68042 11.769804 0.3298673
2020 15.89959 2.068571 0.1301021
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`= Importaciones_BLZ / Exportaciones_BLZ) %>%
  select("anio", "Importaciones_BLZ", "Exportaciones_BLZ","ratio_BLZ") %>% head() %>%
  kable(
    caption = "Exportaciones e Importaciones de Belice periodo de 2017 a 2020")%>%
  footnote(general_title = "**Fuente**:",
           general = "Elaboración propia con base en datos del BCR.")
## Warning in anio == 2017:2020: longer object length is not a multiple of shorter
## object length
Exportaciones e Importaciones de Belice periodo de 2017 a 2020
anio Importaciones_BLZ Exportaciones_BLZ ratio_BLZ
2017 0.3624609 3.082391 0.1175908
2018 0.1596101 4.736076 0.0337009
2019 0.0937788 4.824193 0.0194393
2020 0.0589327 2.669074 0.0220798
Fuente:
Elaboración propia con base en datos del BCR.

#Ejercicio 3:Obtenga los indicadores de Balassa, para el capitulo “01”, Usando las funciones en clases.

library(dplyr)
library(kableExtra)
capitulo<-"01"
data.frame("anio"=2017:2020,
                               "IB_Panama"=sapply(X=2017:2020,
                                                  FUN = indicadores_Balassa_capitulo,codigo_pais=591,capitulo="01"),
                               "IB_Belice"=sapply(X=2017:2020,
                                                  FUN = indicadores_Balassa_capitulo,codigo_pais=84,capitulo="01")) %>%
  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()
Indicador de Balassa de El Salvador con: Panama y Belice, durante el periodo 2017-2020, para el capitulo “01” del SAC
anio IB_Panama IB_Belice
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 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. Presente sus resultados en el siguente formato:

library(dplyr)
library(kableExtra) 
options(scipen =999999)
funcion_ranking<-function(anio_inicio,anio_final,ranking_k){ 
data_comercio_exterior %>% 
 filter(anio>=anio_inicio,anio<=anio_final) ->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 =ranking_k , order_by = total) %>%
      as.data.frame() %>%
      group_by(anio) %>%
      mutate(ranking = row_number(), 
      data = paste(iso_3, "|", percent, sep = ""))%>%
      select(anio, data, ranking) %>%
      as.data.frame() -> reporte_ranking

return(reporte_ranking)
  }


#Generacion de la tabla de ranking

library(tidyr)
library(kableExtra)
funcion_ranking(2018,2020,ranking_k = 5)%>%
     pivot_wider(names_from = ranking,values_from = data)->aplicar_formato_tabla
## `summarise()` has grouped output by 'anio'. You can override using the
## `.groups` argument.
      pie_pag<-"Elaboración propia con base en informacion del BCR,Elaboracion para el Parcial 1 MAE118 2022"
      aplicar_formato_tabla %>%
      kable(caption = paste("Top","5","de Exportaciones      periodo",2018,2020))%>%
      add_footnote(label = pie_pag) %>% 
      kable_styling(bootstrap_options ="striped", full_width =TRUE)
Top 5 de Exportaciones periodo 2018 2020
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|36.8 GTM|16.92 HND|15.34 NIC|7.52 CRI|5.08
a Elaboración propia con base en informacion del BCR,Elaboracion para el Parcial 1 MAE118 2022