Tarea de Análisis de la MIP en R.

Indicaciones: Usando la información de las matrices Insumo Producto del El Salvador, incluidas en el archivo de Excel presentado en el curso. Y las funciones vistas en clase resuelva lo siguiente:

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

#Se cargan las funciones vistas en clase
#Matriz de coeficientes tecnicos
mip_coeficientes_tecnicos<-function(matriz_consumo_intermedio,
                                    vector_demanda_final){
  filas_ci<-nrow(matriz_consumo_intermedio)
  columnas_ci<-ncol(matriz_consumo_intermedio)
  filas_x<-nrow(vector_demanda_final)
  if(filas_ci!=columnas_ci){
    stop("Ingrese una matriz de Consumo Intermedio, Cuadrada",call. = FALSE)
  }
  if(filas_ci!=filas_x){
    stop("Vector de demanda final incompatible (diferente dimensión)",call. = FALSE)
  }
  v<-solve(diag(as.vector(vector_demanda_final)))
  A<-matriz_consumo_intermedio%*%v
  list(A=A,V=v)
}
#matriz tecnológica

mip_matriz_tecnologica<-function(matriz_coeficientes_tecnicos){
  filas_A<-nrow(matriz_coeficientes_tecnicos)
  columnas_A<-ncol(matriz_coeficientes_tecnicos)
  if(filas_A!=columnas_A){
    stop("Ingrese una matriz de coef. técnicos cuadrada",call. = FALSE)
  }
  tipo_matriz<-typeof(matriz_coeficientes_tecnicos)
  if(tipo_matriz!="double"){
    stop("La matriz ingresada no es numerica",call. = FALSE)
  }
  T<-diag(1,filas_A)-matriz_coeficientes_tecnicos
  T
}
mip_matriz_leontief<-function(matriz_tecnologica){
  L<-solve(matriz_tecnologica)
  L
}
mip_multiplicadores_produccion_mp<-function(matriz_leontief){
  mp<-rowSums(matriz_leontief)
  mp
}
mip_multiplicadores_expansion_demanda_me<-function(matriz_leontief){
  me<-colSums(matriz_leontief)
  me
}
mip_encadenamiento_pd<-function(matriz_leontief){
  mp<-mip_multiplicadores_produccion_mp(matriz_leontief)
  mp/mean(mp)
}
mip_encadenamiento_sd<-function(matriz_leontief){
  me<-mip_multiplicadores_expansion_demanda_me(matriz_leontief)
  me/mean(me)
}
mip_tabla_rasmussen<-function(matriz_leontief){
library(dplyr)
pd<-mip_encadenamiento_pd(matriz_leontief)
sd<-mip_encadenamiento_sd(matriz_leontief)
rasmussen<-data.frame(pd=pd,sd=sd)
rasmussen_clasificado<-rasmussen %>% 
  mutate(clasificacion=case_when(pd>1 & sd>1 ~ "Sector Clave",
                                           pd<1 & sd>1 ~"Sector Estrategico",
                                           pd>1 & sd<1 ~"Sector Impulsor",
                                           pd<1 & sd<1 ~"Sector Isla",
                                           TRUE ~ "No clasificado")) %>% mutate(sector=row_number()) %>% select(sector,pd,sd,clasificacion)
rasmussen_clasificado
}

#Cargando las mip 1990  y mip 2006

#mip 1990
#Consumo Intermedio
mip1990_ci <- read_excel("D:/Universidad/3° año/Metodos/Tarea6/Anexo_Resolución_32_MATRIZ_INSUMO_PRODUCTO_A_PRECIOS_CORRIENTES_EN_DOLARES_1990-2006.xls",
    sheet = "MIP 1990", range = "i14:bb59", 
    col_names = FALSE)
names(mip1990_ci)<-as.character(1:46)

#Demanda Final
mip1990_h <- read_excel("D:/Universidad/3° año/Metodos/Tarea6/Anexo_Resolución_32_MATRIZ_INSUMO_PRODUCTO_A_PRECIOS_CORRIENTES_EN_DOLARES_1990-2006.xls",
    sheet = "MIP 1990", range = "bd14:be59", 
    col_names = FALSE)
names(mip1990_h)<-as.character(1:2)

#Vector de producción
mip1990_X <- read_excel("D:/Universidad/3° año/Metodos/Tarea6/Anexo_Resolución_32_MATRIZ_INSUMO_PRODUCTO_A_PRECIOS_CORRIENTES_EN_DOLARES_1990-2006.xls",
    sheet = "MIP 1990", range = "bi14:bi59", 
    col_names = FALSE)
names(mip1990_X)<-c("X")


#mip 2006
#Consumo Intermedio
mip2006_ci <- read_excel("D:/Universidad/3° año/Metodos/Tarea6/Anexo_Resolución_32_MATRIZ_INSUMO_PRODUCTO_A_PRECIOS_CORRIENTES_EN_DOLARES_1990-2006.xls",
    sheet = "MIP 2006", range = "i15:bb60", 
    col_names = FALSE)
names(mip2006_ci)<-as.character(1:46)

#Demanda Final
mip2006_h <- read_excel("D:/Universidad/3° año/Metodos/Tarea6/Anexo_Resolución_32_MATRIZ_INSUMO_PRODUCTO_A_PRECIOS_CORRIENTES_EN_DOLARES_1990-2006.xls", 
    sheet = "MIP 2006", range = "bd15:be60", 
    col_names = FALSE)
names(mip2006_h)<-as.character(1:2)

#Vector de producción
mip2006_X <- read_excel("D:/Universidad/3° año/Metodos/Tarea6/Anexo_Resolución_32_MATRIZ_INSUMO_PRODUCTO_A_PRECIOS_CORRIENTES_EN_DOLARES_1990-2006.xls",
    sheet = "MIP 2006", range = "bi15:bi60", 
    col_names = FALSE)
names(mip2006_X)<-c("X")

1. Realice el cálculo de lo siguiente (de ser necesario haga las agregaciones de servicios propuestas en la clase):

#Agregacion de servicios

#Para 1990
servicios_row<-colSums(mip1990_ci[41:46,])
temporal<-rbind(mip1990_ci[1:40,],servicios_row)
servicios_col<-rowSums(temporal[,41:46])
mip1990_ci_corregida<-cbind(temporal[,1:40],servicios_col)
names(mip1990_ci_corregida)<-as.character(1:41)
X_1990<-rbind(mip1990_X[1:40,],colSums(mip1990_X[41:46,]))


#Para 2006
servicios_row<-colSums(mip2006_ci[41:46,])
temporal<-rbind(mip2006_ci[1:40,],servicios_row)
servicios_col<-rowSums(temporal[,41:46])
mip2006_ci_corregida<-cbind(temporal[,1:40],servicios_col)
names(mip2006_ci_corregida)<-as.character(1:41)
X_2006<-rbind(mip2006_X[1:40,],colSums(mip2006_X[41:46,]))
#Conversion a matrices para los calculos
#1990
matriz_X_1990<- as.matrix(X_1990)
matriz_CI_1990<-as.matrix(mip1990_ci_corregida)

#2006
matriz_X_2006<-as.matrix(X_2006)
matriz_CI_2006<-as.matrix(mip2006_ci_corregida)

#Calculando la funcion leontief para los calculos
#1990
matriz_A_1990<-mip_coeficientes_tecnicos(matriz_CI_1990,matriz_X_1990)[[1]]
matriz_T_1990<-mip_matriz_tecnologica(matriz_A_1990)
matriz_L_1990 <- mip_matriz_leontief(matriz_T_1990)

#2006
matriz_A_2006<-mip_coeficientes_tecnicos(matriz_CI_2006,matriz_X_2006)[[1]]
matriz_T_2006<-mip_matriz_tecnologica(matriz_A_2006)
matriz_L_2006 <- mip_matriz_leontief(matriz_T_2006)

a. Multiplicadores Expansión de la demanda (me) para la MIP 1990 y para la MIP 2006.

me_1990 <- mip_multiplicadores_expansion_demanda_me(matriz_L_1990)
print(me_1990)
##  [1]  1.255178  1.267747  1.261599  1.568111  1.124569  1.445002  1.768326
##  [8]  1.029765  1.383834  1.047445  1.834384  1.788561  1.059243  1.799649
## [15]  1.840519  1.553178  1.365915  1.384794  1.505731  1.642505  1.578688
## [22]  1.361625  1.665210  1.447935  1.327641  1.408787  1.395278  1.459492
## [29]  2.366807  1.299373  1.109323  1.451591  1.392119  1.826914 37.440804
## [36]  1.636206  1.517817  1.258089  1.353294  1.170121  1.301949
me_2006<- mip_multiplicadores_expansion_demanda_me(matriz_L_2006)
print(me_2006)
##  [1]  1.297922  1.020215  1.234962  1.847889  1.083978  1.400624  1.685844
##  [8]  1.026941  1.499664  1.071302  1.401085  1.471804  1.040887  1.526300
## [15]  1.941532  1.344572  1.277062  1.000000  1.301245  1.371596  1.395160
## [22]  1.176944  1.433429  1.363739  1.212840  1.240559  1.276547  1.496298
## [29]  1.990601  1.109025  1.088510  1.588449  2.124461  1.674974 23.762309
## [36]  1.299292  1.397290  1.684696  1.236529  1.171619  1.360409

b. Multiplicadores de la producción (mp) para la MIP 1990 y para la MIP 2006

mp_1990<- mip_multiplicadores_produccion_mp(matriz_L_1990)
print(mp_1990)
##  [1]  1.105885  1.191285  1.750077  1.511243  1.389578  2.181171  1.119400
##  [8]  1.246299  1.083152  3.671425  1.223539  1.133089  1.006271  1.592563
## [15]  1.194635  2.224389  1.253500  1.015813  1.928648  1.030379  1.189543
## [22]  1.146679  2.696695  2.739024  3.150917  6.985378  2.603476  1.606020
## [29]  2.197902  1.495203  2.066329  2.185642  1.177725  1.239212  1.067583
## [36]  1.291981 13.816987  2.262777  3.717322  7.533336  3.673047
mp_2006<- mip_multiplicadores_produccion_mp(matriz_L_2006)
print(mp_2006)
##  [1]  1.013829  1.052815  1.474348  1.301361  1.244981  1.623459  1.060766
##  [8]  1.196731  1.359658  2.568025  1.150131  1.077882  1.002044  1.355794
## [15]  1.054278  1.918127  1.134142  1.000527  1.470996  1.018324  1.129994
## [22]  1.107301  2.018467  1.888203  2.150340  6.346229  1.563541  1.509519
## [29]  1.791534  1.250410  1.532295  2.797425  1.081905  1.187016  1.062057
## [36]  1.197085 10.302597  1.590620  1.766302  6.502581  3.075466

c. Tasa de cambio para ambos multiplicadores (por ejemplo, para me: me2006/me1990-1)

tabla <- data.frame(me_1990=me_1990, me_2006=me_2006, mp_1990=mp_1990, mp_2006=mp_2006) %>% 
  mutate(dif_me=round((me_2006/me_1990-1)*100,2),
         dif_mp=round((mp_2006/mp_1990-1)*100,2)) %>% 
  mutate(sector=row_number()) %>% 
  select(sector, everything()) 

tabla%>% select(sector, dif_me,dif_mp)

d. Presente los resultados en una tabla que incluya los nombres para todos los sectores.

library(dplyr)
library(kableExtra)

#Se cargan los nombres de los sectores
nombres_sectores <- read_excel("D:/Universidad/3° año/Metodos/Tarea6/Nombres_sectores.xlsx")

#Se une la tabla de los nombres de los sectores y la tabla de multiplicadores anterior
tabla2<- left_join(nombres_sectores,tabla)

tabla2 %>% 
  kable(aption="Tabla de los multiplicadores MIP 1990 y 2006",
        digits = 2) 
Actividad sector me_1990 me_2006 mp_1990 mp_2006 dif_me dif_mp
CAFE ORO 1 1.26 1.30 1.11 1.01 3.41 -8.32
ALGODON 2 1.27 1.02 1.19 1.05 -19.53 -11.62
GRANOS BASICOS 3 1.26 1.23 1.75 1.47 -2.11 -15.76
CAÑA DE AZUCAR 4 1.57 1.85 1.51 1.30 17.84 -13.89
OTRAS PRODUCCIONES AGRICOLAS 5 1.12 1.08 1.39 1.24 -3.61 -10.41
GANADERIA 6 1.45 1.40 2.18 1.62 -3.07 -25.57
AVICULTURA 7 1.77 1.69 1.12 1.06 -4.66 -5.24
SILVICULTURA 8 1.03 1.03 1.25 1.20 -0.27 -3.98
PROD. DE LA CAZA Y LA PESCA 9 1.38 1.50 1.08 1.36 8.37 25.53
PROD. DE LA MINERIA 10 1.05 1.07 3.67 2.57 2.28 -30.05
CARNE Y SUS PRODUCTOS 11 1.83 1.40 1.22 1.15 -23.62 -6.00
PRODUCTOS LACTEOS 12 1.79 1.47 1.13 1.08 -17.71 -4.87
PROD. ELABORADOS DE LA PESCA 13 1.06 1.04 1.01 1.00 -1.73 -0.42
PROD. DE MOLINERIA Y PANADERIA 14 1.80 1.53 1.59 1.36 -15.19 -14.87
AZUCAR 15 1.84 1.94 1.19 1.05 5.49 -11.75
OTROS PROD. ALIM. ELABORADOS 16 1.55 1.34 2.22 1.92 -13.43 -13.77
BEBIDAS 17 1.37 1.28 1.25 1.13 -6.51 -9.52
TABACO ELABORADO 18 1.38 1.00 1.02 1.00 -27.79 -1.50
TEXTILES Y ART. CONFEC. DE MAT. TEXT. 19 1.51 1.30 1.93 1.47 -13.58 -23.73
PRENDAS DE VESTIR 20 1.64 1.37 1.03 1.02 -16.49 -1.17
CUERO Y SUS PRODUCTOS 21 1.58 1.40 1.19 1.13 -11.63 -5.01
MADERA Y SUS PRODUCTOS 22 1.36 1.18 1.15 1.11 -13.56 -3.43
PAPEL, CARTON Y SUS PRODUCTOS 23 1.67 1.43 2.70 2.02 -13.92 -25.15
PROD. DE LA IMPRENTA Y DE IND. CONEX. 24 1.45 1.36 2.74 1.89 -5.81 -31.06
QUIMICA DE BASE Y ELABORADOS 25 1.33 1.21 3.15 2.15 -8.65 -31.76
PROD. DE LA REFINACION DE PETROLEO 26 1.41 1.24 6.99 6.35 -11.94 -9.15
PROD. DE CAUCHO Y PLASTICO 27 1.40 1.28 2.60 1.56 -8.51 -39.94
PROD. MINERALESS NO METALICOS ELAB. 28 1.46 1.50 1.61 1.51 2.52 -6.01
PROD. METALICOS DE BASE Y ELAB. 29 2.37 1.99 2.20 1.79 -15.90 -18.49
MAQUINARIA, EQUIPOS Y SUMINISTROS 30 1.30 1.11 1.50 1.25 -14.65 -16.37
MATERIAL DE TRANSP. Y MANUF. DIVERSAS 31 1.11 1.09 2.07 1.53 -1.88 -25.84
ELECTRICIDAD 32 1.45 1.59 2.19 2.80 9.43 27.99
AGUA Y ALCANTARILLADOS 33 1.39 2.12 1.18 1.08 52.61 -8.14
CONSTRUCCION 34 1.83 1.67 1.24 1.19 -8.32 -4.21
COMERCIO 35 37.44 23.76 1.07 1.06 -36.53 -0.52
RESTAURANTES Y HOTELES 36 1.64 1.30 1.29 1.20 -20.59 -7.34
TRANSP. Y ALMACENAMIENTO 37 1.52 1.40 13.82 10.30 -7.94 -25.44
COMUNICACIONES 38 1.26 1.68 2.26 1.59 33.91 -29.70
BANCOS, SEGUROS, OTRAS INST. FINANC. 39 1.35 1.24 3.72 1.77 -8.63 -52.48
BIENES INMUEBLES Y SERV. PRESTADOS 40 1.17 1.17 7.53 6.50 0.13 -13.68
SERVICIOS 41 1.30 1.36 3.67 3.08 4.49 -16.27

2. Realice el análisis de Rasmussen para para las MIP 1990 y 2006.

## Análisis de Rasmussen para MIP 1990.

rasmussen_1990<-mip_tabla_rasmussen(matriz_L_1990) 

summary_rasmussen_1990 <- rasmussen_1990 %>% 
  group_by(clasificacion) %>% summarise(total=n()) %>% mutate(porcentaje=round(prop.table(total)*100,2))

summary_rasmussen_1990 %>% 
  kable(aption="Análisis de Rasmussen para MIP 1990",
        align = "c",
        digits = 2) %>% 
  kable_material(html_font = "sans-serif") %>% 
  kable_styling(bootstrap_options = c("striped", "hover"))
clasificacion total porcentaje
Sector Estrategico 2 4.88
Sector Impulsor 10 24.39
Sector Isla 29 70.73
## Análisis de Rasmussen para MIP 2006.


rasmussen_2006<-mip_tabla_rasmussen(matriz_L_2006) 

summary_rasmussen_2006 <- rasmussen_2006 %>% 
  group_by(clasificacion) %>% summarise(total=n()) %>% mutate(porcentaje=round(prop.table(total)*100,2))
  
summary_rasmussen_2006 %>% 
  kable(aption="Análisis de Rasmussen para MIP 2006",
        align = "c",
        digits = 2) %>% 
  kable_material(html_font = "sans-serif") %>% 
  kable_styling(bootstrap_options = c("striped", "hover"))
clasificacion total porcentaje
Sector Estrategico 4 9.76
Sector Impulsor 8 19.51
Sector Isla 29 70.73

3. Presente una tabla comparativa entre los resultados porcentuales por tipo de sector entre 1990 y 2006, incluya una columna que muestre la variación porcentual por tipo de sector.

tabla_comparativa<-left_join(summary_rasmussen_1990, summary_rasmussen_2006, by="clasificacion", suffix=c("_1990","_2006"))

tabla_comparativa %>% 
  mutate(dif_variacion_porcentual= round((porcentaje_2006/porcentaje_1990-1)*100,2)) %>% 
  kable(aption="Tabla comparativa",
        align = "c",
        digits = 2) %>% 
  kable_material(html_font = "sans-serif") %>% 
  kable_styling(bootstrap_options = c("striped", "hover"))
clasificacion total_1990 porcentaje_1990 total_2006 porcentaje_2006 dif_variacion_porcentual
Sector Estrategico 2 4.88 4 9.76 100.00
Sector Impulsor 10 24.39 8 19.51 -20.01
Sector Isla 29 70.73 29 70.73 0.00