Parte Teorica

1. Explique ¿que son las estructuras de datos?

Son formas de organizar informacoin para manipular, buscar e insertar datos de manera eficiente.

Es un contendedor de datos basicos caracter, numerico, fecha, vector logico.

2. Exlique ¿como se orginazan las estructuras de datos en R?

Caracteristicas de las estructuras de datos:

Homogeneo:

un solo de tipo de datos a la ves ya sea numerico, caracter, fecha, vector logico

vector: una dimension del mismo tipo

matriz:dos dimensiones filas y columnas pero un solo tipo de datos

array: (datos de panel) puede tener una, dos o más dimensiones. Es simplemente un vector que se almacena con atributos adicionales que dan las dimensiones

Heterogenea:

distintpos tipos de datos cualitativa, etc

Existe la cohercionhace que se fuerze que la estructura de dato sea de un solo tipo

lista: Objeto mas general este puede ser engañoso puede estar conformado de otras listas puede contener vectores logicos, matriz, array, ect

dataframe: representa informacion en casos (filas) variables (columnas) varios tipos de datos.

3 Represente graficamente la instruccion anti_join(A,B) a traves de un diagram de Venn y explique su significado practico.

Todo lo que este en “A” que no este en “B”, Una anti-join es cuando desea mantener todos los valores en la tabla original, excepto aquellos valores que coinciden con la otra tabla.

Parte Practica

source("~/Metodos/bases de datos_comercio/base_comercio_new/funciones_comercio_exterior.R")

Ejercio 1

Elabore una funcion que se llame totales_paises_anios que use como argumento el codigo pais iso de tres caracteres, para legir el socio comercial de El Salvador, y permita obtener las Exportaciones y las Importaciones para un periodo especifico

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

Ejercio 2

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

library(kableExtra)
library(dplyr)
data_comercio_exterior%>%
  filter(anio %in% 2017:2020,codigo_pais=="320", valor_fob>0,valor_cif>0)%>%
  group_by(anio)%>%
  summarise(`Exportaciones_GTM`=sum(valor_fob)/1e6,
            `Importaciones_GTM`=sum(valor_cif)/1e6)%>%
  mutate(Ratio_GTM =`Importaciones_GTM` /`Exportaciones_GTM`)%>% 
  select("anio","Exportaciones_GTM","Importaciones_GTM","Ratio_GTM")%>%head()%>%kable(caption = "Cantidad importada por cada dolar exportado a la región Centroamericana. 2017-2019", aling="l")%>% kable_minimal()  %>% 
  add_footnote(label="Elaboración para el Parcial 1 MAE118 2022",
               notation="symbol") %>%  kable_minimal()
Cantidad importada por cada dolar exportado a la región Centroamericana. 2017-2019
anio Exportaciones_GTM Importaciones_GTM Ratio_GTM
2017 585.3573 664.5054 1.135213
2018 617.9130 683.1045 1.105503
2019 714.8241 869.3412 1.216161
2020 385.9912 498.4241 1.291284
* Elaboración para el Parcial 1 MAE118 2022
data_comercio_exterior%>%
  filter(anio %in% 2017:2020,codigo_pais=="340", valor_fob>0,
         valor_cif>0)%>%
  group_by(anio)%>%
  summarise(`Exportaciones_HND`=sum(valor_fob)/1e6,
            `Importaciones_HND`=sum(valor_cif)/1e6)%>%
  mutate(Ratio_HND =`Importaciones_HND` /`Exportaciones_HND`)%>%
  select("anio",
         "Exportaciones_HND",
         "Importaciones_HND",
         "Ratio_HND")%>%head()%>%kable(caption = "Cantidad importada por cada dolar exportado a la región Centroamericana. 2017-2020", aling="l")%>% kable_minimal()  %>% 
  add_footnote(label="Elaboración para el Parcial 1 MAE118 2022",
               notation="symbol") %>%  kable_minimal()
Cantidad importada por cada dolar exportado a la región Centroamericana. 2017-2020
anio Exportaciones_HND Importaciones_HND Ratio_HND
2017 532.0069 442.0924 0.8309900
2018 640.1045 605.8238 0.9464450
2019 655.9949 679.9495 1.0365164
2020 294.2452 290.6471 0.9877717
* Elaboración para el Parcial 1 MAE118 2022

Ejercicio 3

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

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

resultado_balassa = data.frame("años"=2017:2020,
                               "Balassa_GTM"= sapply(X=2017:2020,
                                              FUN= indicadores_Balassa_capitulo,
                                              codigo_pais=320,
                                              capitulo="01"),
                               "Balassa_HND"= sapply(X=2017:2020,
                                              FUN= indicadores_Balassa_capitulo,
                                              codigo_pais=340,
                                              capitulo="01")
                                )
resultado_balassa%>%head()%>%kable(caption = "Índice de Balassa con IB_GTM, IB_HND. Capítulo 01. 2017-2020", aling="l")%>% 
  add_footnote(label="Elaboración para el Parcial 1 MAE118 2022",
               notation="symbol") %>%  kable_minimal()
Índice de Balassa con IB_GTM, IB_HND. Capítulo 01. 2017-2020
años Balassa_GTM Balassa_HND
2017 0.8593593 -0.0407459
2018 0.8564358 -0.1278098
2019 0.8423425 -0.2435638
2020 0.9170955 0.4120962
* Elaboración para el Parcial 1 MAE118 2022

Ejercicio 4

Genera una funcion que obtenga un ranking, anual, de los “k” principales socios comerciales de El Salvador , para el perido año inicio-año final. Presente sus resultados en el siguiente formato:

options (scipen = 9999)
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<-2018:2020
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
library(tidyr)
insumo_reporte %>% 
pivot_wider(names_from = rank,values_from = data)->tabla_ranking
print(tabla_ranking)
## # 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  2018 USA|44.07 HND|15.34 GTM|14.36 NIC|6… CRI|… MEX|… PAN|… DOM|… CHN|… ESP|…
## 2  2019 USA|41.88 GTM|15.95 HND|15.91 NIC|6… CRI|… MEX|… PAN|… DOM|… CAN|… CHN|…
## 3  2020 USA|36.8  GTM|16.92 HND|15.34 NIC|7… CRI|… MEX|… PAN|… DOM|… KOR|… CHN|…
library(kableExtra)
tabla_ranking %>%
  kable(caption = paste("Top",10," socios comerciales, periodo 2018-2020, datos en porcentaje de las exportaciones totales",
    min(anios_ranking),"-",max(anios_ranking))) %>% kable_minimal()%>% kable_minimal()  %>% 
  add_footnote(label="Elaboración para el Parcial 1 MAE118 2022",
               notation="symbol") %>%  kable_minimal()
Top 10 socios comerciales, periodo 2018-2020, datos en porcentaje de las exportaciones totales 2018 - 2020
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
* Elaboración para el Parcial 1 MAE118 2022