Indicaciones parte Teórica

Escriba con boligrafo azul o negro todas las respuestas, a las interrogantes que se le plantean en la prueba, para la parte teórica no está permitido usar ningun dispositivo digital, apuntes u otra fuente de consulta.

1) [10%]

Explique las formas de acceder al elemento “j” de una lista A que está en la posicion “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”

Respuesta: B[[i]][[j]]

2) [20%]

Explique ¿cómo se clasifican las estructuras de datos en R?

Las estructuras de datos en R se cladifican en: Homogéneas y Heterogéneas.

1. Estructuras homogeneas: Son de una sola dimensión (es largo). Permite guardar un solo tipo de dato (puede ser numérico, caracter, etc.) Dentro de estas estructuras encontramos las siguientes estructuras de control: matriz, array, vector atómico.

2. Estructuras heterogenas: Es de dos dimensiones (filas y cloumnas). Permite guardar información de todos los tipos de datos. Dentro de estas estructuras encontramos las siguientes estructuras de control: Listas, dataframe

3) [20%]

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

diagrama de venn

Se utiliza cuando el objetivo es unir dos dataframe o tablas MANTENIENDO todas las observaciones del dataframe (o tabla) derecho (tabla B). En el caso de que no haya informacion para algunas observaciones R introducirá N/A.

Muestra todos los datos contenidos en tabla B y solo los datos de tabla A que esten en la tabla B. Es una union de una tabla sobre la otra, la tabla de referencia en este caso es la tabla B, pegará la tabla A a la tabla B.

Le da prioridad a la tabla de la derecha (tabla B) y busca coincidencia en la tabla de la izquierda (tabla A). Si no existe niguna coincidencia para aluna de las filas de la tabla de la derecha, de igual forma todos los resultados de la tabla B se muestran.

Parte II (PRÁCTICA) 50%

library(dplyr)
load("C:/Users/Luis Anaya/OneDrive/Desktop/metodos para el analisis economico/data-parcial2021/Lidia-data_parcial_1_2021.RData")
nombre_archivo<-nombres_iso_paises
nombres_iso_paises <- nombre_archivo
data_comercio_exterior %>% left_join(nombres_iso_paises,by = c("pais" ="nom_pais_esp"))->data_comercio_exterior

Ejercicio 1 [10%]:

Elabore una función que se llame totales_pais_anios que use como argumentos 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 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)/1e6,
              Imp = sum(valor_cif)/1e6)
  Exp_Imp_Total %>% filter(iso_3 ==codigo, anio %in% periodo)}

Ejercicio 2[10%]:

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)

## Tabla de PAN
tabla_PAN<-totales_pais_anios("PAN", 2017:2020)
colnames(tabla_PAN)<-c("Pais", "anio", "Exportaciones_PAN", "Importaciones_PAN")
tabla_PAN %>% mutate(ratio_PAN=Importaciones_PAN/Exportaciones_PAN)->tabla_PAN

## Tabla de BLZ
tabla_BLZ<-totales_pais_anios("BLZ",2017:2020)
colnames(tabla_BLZ)<-c("Pais", "anio", "Exportaciones_BLZ", "Importaciones_BLZ") 
tabla_BLZ %>% mutate(ratio_BLZ=Importaciones_BLZ/Exportaciones_BLZ)->tabla_BLZ

# mi tabla
Mi_Tabla <- tabla_PAN %>% left_join(tabla_BLZ, by= c("anio"="anio"))

Mi_Tabla %>% select("anio","Exportaciones_PAN","Importaciones_PAN","ratio_PAN","Exportaciones_BLZ", "Importaciones_BLZ","ratio_BLZ")%>% head(4)%>%kable(col.names=(c("anio","Exportaciones_PAN", "Importaciones_PAN","ratio_PAN","Exportaciones_BLZ", "Importaciones_BLZ","ratio_BLZ")),
        align="c")%>%
  kable_classic(html_font= "Times New Roman",
                font_size= 14)%>%
  row_spec(0, bold= T)%>%
  footnote(general_title= "fuente:",
           general= "Elaboracion propia con base en datos del BCR.")
anio Exportaciones_PAN Importaciones_PAN ratio_PAN Exportaciones_BLZ Importaciones_BLZ ratio_BLZ
2017 121.76437 76.39776 0.6274229 16.013380 3.9232741 0.2449998
2018 122.54869 62.61247 0.5109191 21.963732 0.6648215 0.0302691
2019 122.09840 74.36243 0.6090369 20.114436 0.4787941 0.0238035
2020 60.91833 40.13965 0.6589092 8.484919 0.2336319 0.0275350
fuente:
Elaboracion propia con base en datos del BCR.

Ejercicio 3[10%]:

Obtenga los indicadores de Balassa, para el capítulo “01”, usando las funciones provistas en clase. (PAN y BLZ)

# Funciones de comercio exterior
source("C:/Users/Luis Anaya/OneDrive/Desktop/metodos para el analisis economico/UNIDAD I/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/Luis Anaya/OneDrive/Desktop/metodos para el analisis economico/UNIDAD I/data_comerc ..." ... [TRUNCATED] 
## 
## > 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]
library(readr)
library(dplyr)
library(knitr)
library(kableExtra)
resultado_balassa<-data.frame("anios"=2017:2020,
                               "IB_PAN"= sapply(X=2017:2020,
                                              FUN= indicadores_Balassa_capitulo,
                                              codigo_pais=591,
                                              capitulo="01"),
                                "IB_BLZ"= sapply(X=2017:2020,
                                              FUN= indicadores_Balassa_capitulo,
                                              codigo_pais=84,
                                              capitulo="01"))
resultado_balassa%>%head()%>%
 kable(
    caption = "**indice de Balassa: Panamá y Belice para el periodo 2017-2020",
    col.names = c("Anio", "IB_PAN", "IB_BLZ"),
     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 = "Elaboracion propia, con base en informacion del BCR")
**indice de Balassa: Panamá y Belice para el periodo 2017-2020
Anio IB_PAN IB_BLZ
2017 -0.86 -1
2018 -0.60 -1
2019 -0.75 -1
2020 -1.00 -1
Fuente:
Elaboracion propia, con base en informacion del BCR

Ejercicio 4 [20%]:

Genera una función 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 siguiente formato: Top K Socios comerciales, periodo año inicio-año final, datos en porcentaje de las exportaciones totales.

(Por default debe incluir el texto: Elaboración propia, con base en informacion del BCR) Y utilizala para generar el top 5 de socios comerciales para el periodo 2018-2020, la tabla deberá tener el pie de página “Elaborado para el Parcial 1 MAE118 2020”

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 = "Elaborado para el Parcial 1 MAE118 2022")}
Ranking_socios_comerciales(5, 2018:2020)
TOP 5 Socios Comerciales, periodo 2018 - 2020 datos en porcentaje de las exportaciones totales
anio 1 2 3 4 5
2018 NA|47.09 HND|15.34 GTM|14.36 NIC|6.87 CRI|4.39
2019 NA|44.41 GTM|15.92 HND|15.9 NIC|6.66 CRI|4.46
2020 NA|43.24 GTM|16.87 HND|15.45 NIC|7.25 CRI|4.63
Fuente:
Elaborado para el Parcial 1 MAE118 2022