Parte I. Teórica

1) ¿Qué son las estructuras de datos?

Las estructuras de datos son las diferentes formas de almacenar la información, algunas de ellas contienen un solo tipo de dato, otras tienen diferentes tipos en una misma estructura, pueden ser vectores, matrices, dataframe, array, listas.


2) ¿Cómo se clasifican las estructuras de datos en R?

Homogénea, aquí solo se encuentra un solo tipo de dato, o solo fecha o solo cadena. Pueden ser:

  • Vector atómico: vector fila o un vector columna.
  • Matriz: dos dimensiones, filas y columnas.
  • Array: tiene \(n\) dimensiones.

Heterogéneas, puede tener distintos tipos de datos. Pueden ser:

  • Dataframe: es heterogénea porque se puede presentar en distintas formas, como fecha, cualitativas, numéricas.
  • Lista: estructura heterogénea de una dimensión, puede contener dataframe, vectores atómicos, otras listas, array…

3) Represente gráficamente la instrucción anti_join(A,B) a través de un diagrama de Venn y explique su significado práctico.

El anti_join\((A,B) = A - B\), al tener dos dataframes, con el anti_join no habrá un junte de datos como podría darse con los demás join, en este caso si tenemos el primer dataframe \(A\) y el segundo dataframe \(B\), al aplicar el anti_join, al primer dataframe \(A\) se le van a excluir las mismas variables contenidas en el segundo dataframe \(B\).


Parte II. Práctica

Carga de datos

library(dplyr)
library(readxl)

# Data
load("data_parcial_1_2021.RData")

nombre_archivo<-"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

# Funciones de comercio exterior
source(file="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/Jacqueline Vanessa/Desktop/UES/Ciclo II - 2022/MAE118/TAREAS/UNIDAD 1/Parcial 1/dat ..." ... [TRUNCATED] 
## 
## > nombre_archivo <- "nombres_iso_paises.xlsx"
## 
## > nombres_iso_paises <- read_excel(nombre_archivo)
## 
## > 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]


Ejercicio 1

totales_pais_anios <- function(iso_3, anio) {
  data_comercio_exterior %>% 
    filter(iso_3==!!iso_3) %>% filter (anio==!!anio) %>%
    group_by(anio) %>%
    summarise(`Exportaciones` = sum(valor_fob)/1e6,
              `Importaciones` = sum(valor_cif)/1e6) %>%
    mutate(ratio = `Importaciones`/`Exportaciones`) %>% 
    select("anio", "Exportaciones", "Importaciones", "ratio")
}


Ejercicio 2

library(kableExtra)
Resultados_ejercicio_2 <- data.frame(totales_pais_anios("GTM", 2017:2020),
                                     totales_pais_anios("HND", 2017:2020)) %>%
  select("anio", "Exportaciones", "Importaciones", "ratio", "Exportaciones.1", "Importaciones.1", "ratio.1") %>% 
  head() %>% kable(
    col.names = c("anio", "Exportaciones_GTM", "Importaciones_GTM", "ratio_GTM", "Exportaciones_HND", "Importaciones_HND", "ratio_HND"),
    align = c("c", "c", "c", "c", "c", "c", "c"),
    digits = 2) %>% kable_styling()
Resultados_ejercicio_2
anio Exportaciones_GTM Importaciones_GTM ratio_GTM Exportaciones_HND Importaciones_HND ratio_HND
2017 195.14 266.92 1.37 192.33 195.20 1.01
2018 245.59 306.80 1.25 196.61 182.57 0.93
2019 236.76 317.67 1.34 231.25 247.41 1.07
2020 110.75 172.19 1.55 126.74 100.82 0.80


Ejercicio 3

library(kableExtra)
Resultados_Balassa<-data.frame("anio"=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"))

Resultados_Balassa %>% kable(align = "l") %>% 
  kable_material(html_font = "Times New Roman") %>% kable_styling()
anio IB_GTM IB_HND
2017 0.8593593 -0.0407459
2018 0.8564358 -0.1278098
2019 0.8423425 -0.2435638
2020 0.9170955 0.4120962


Ejercicio 4

library(dplyr)
library(tidyr)
library(kableExtra)
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() -> ranking_reporte
  
ranking_reporte %>%
  pivot_wider(names_from = rank, values_from = data) -> mi_tabla

mi_tabla %>% 
  kable(caption = paste("Top", 10, "Socios comerciales, periodo 2018 - 2020, datos en porcentajes de las exportaciones totales", min(anios_ranking), "-", max(anios_ranking))) %>% 
  add_footnote(label = c("Elaboración propia, con base en información del BCR", "Elaborado para el Parcial 1 MAE118 2022"), notation = "symbol") %>% kable_styling()
Top 10 Socios comerciales, periodo 2018 - 2020, datos en porcentajes 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 propia, con base en información del BCR
Elaborado para el Parcial 1 MAE118 2022