Tarea de Análisis de la MIP en R

Base de datos

1990

Consumo Intermedio

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

MIP.1990CI <- read_excel("C:/Users/02lmg/OneDrive/Escritorio/Ciclo 6/METODO PARA EL ANALISIS ECONOMICO/unidad 2/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(MIP.1990CI)<-as.character(1:46)
print(MIP.1990CI)
## # A tibble: 46 × 46
##       `1`     `2`     `3`    `4`    `5`    `6`    `7`   `8`    `9`  `10`    `11`
##     <dbl>   <dbl>   <dbl>  <dbl>  <dbl>  <dbl>  <dbl> <dbl>  <dbl> <dbl>   <dbl>
##  1 127.      0        0      0   0         0   0        0   0         0  0      
##  2   0       0        0      0   0         0   0        0   0         0  0      
##  3   0       0     3753.     0   0      1901.  7.00e3   0   0         0  5.26e-1
##  4   0       0        0   1678.  0         0   0        0   0         0  0      
##  5   0    1095.   12618.   298.  1.83e3    0   0        0   0         0  6.84e+0
##  6   0       0        0      0   0      7085.  5.53e0   0   0         0  7.21e+4
##  7   0       0        0      0   0         0   6.77e3   0   9.21e0    0  4.48e+3
##  8 584.     20.5    884.    90.7 1.63e2   31.7 0       16.6 0         0  1.27e+2
##  9   0       0        0      0   0         0   0        0   1.74e3    0  0      
## 10   1.05    2.63    33.3   19.6 6.18e0  984.  1.18e0   0   1.84e0 2010. 2.5 e+0
## # ℹ 36 more rows
## # ℹ 35 more variables: `12` <dbl>, `13` <dbl>, `14` <dbl>, `15` <dbl>,
## #   `16` <dbl>, `17` <dbl>, `18` <dbl>, `19` <dbl>, `20` <dbl>, `21` <dbl>,
## #   `22` <dbl>, `23` <dbl>, `24` <dbl>, `25` <dbl>, `26` <dbl>, `27` <dbl>,
## #   `28` <dbl>, `29` <dbl>, `30` <dbl>, `31` <dbl>, `32` <dbl>, `33` <dbl>,
## #   `34` <dbl>, `35` <dbl>, `36` <dbl>, `37` <dbl>, `38` <dbl>, `39` <dbl>,
## #   `40` <dbl>, `41` <dbl>, `42` <dbl>, `43` <dbl>, `44` <dbl>, `45` <dbl>, …

Demanda final

MIP_1990h<- read_excel("C:/Users/02lmg/OneDrive/Escritorio/Ciclo 6/METODO PARA EL ANALISIS ECONOMICO/unidad 2/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(MIP_1990h)<-as.character(1:2)
print(MIP_1990h)
## # A tibble: 46 × 2
##        `1`   `2`
##      <dbl> <dbl>
##  1      0      0
##  2      0      0
##  3 154500.     0
##  4      0      0
##  5 182388.     0
##  6  28392.     0
##  7 161574.     0
##  8  50923.     0
##  9  20244.     0
## 10   4181.     0
## # ℹ 36 more rows

Vector de producción.

MIP_1990x<-read_excel("C:/Users/02lmg/OneDrive/Escritorio/Ciclo 6/METODO PARA EL ANALISIS ECONOMICO/unidad 2/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(MIP_1990x)<-as.character("x")
print(MIP_1990x)
## # A tibble: 46 × 1
##          x
##      <dbl>
##  1 254545.
##  2  31712.
##  3 293495.
##  4  44229.
##  5 246870.
##  6 199058.
##  7 182977.
##  8  71190.
##  9  42357.
## 10 157813.
## # ℹ 36 more rows

Agregación de servicios

servicios_row_1990<-colSums(MIP.1990CI[41:46,])
temporal_1990<-rbind(MIP.1990CI[1:40,],servicios_row_1990)
servicios_col_1990<-rowSums(temporal_1990[,41:46])
MIP.1990CI_corregida<-cbind(temporal_1990[,1:40],servicios_col_1990)
names(MIP.1990CI_corregida)<-as.character(1:41)
X_1990<-rbind(MIP_1990x[1:40,],colSums(MIP_1990x[41:46,]))

2006

Consumo Intermedio

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

MIP.2006CI <- read_excel("C:/Users/02lmg/OneDrive/Escritorio/Ciclo 6/METODO PARA EL ANALISIS ECONOMICO/unidad 2/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(MIP.2006CI)<-as.character(1:46)
print(MIP.2006CI)
## # A tibble: 46 × 46
##      `1`   `2`   `3`   `4`   `5`   `6`   `7`   `8`   `9`  `10`  `11`   `12`
##    <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>  <dbl>
##  1    86     0     0     0     0     0     0     0     0     0     0      0
##  2     0     0     0     0     0     0     0     0     0     0     0      0
##  3     0     0 11004     0     0  5313 28072     0     0     0     1     65
##  4     0     0     0  3071     0     0     0     0     0     0     0      0
##  5     0   104 38676  1357 11299     0     0     0     0     0    14    469
##  6     0     0     0     0     0  8777    19     0     0     0 89833 144571
##  7     0     0     0     0     0     0 16874     0     7     0  4137     57
##  8   576     1  2000   272   563    65     0    36     0     0   204    734
##  9     0     0     0     0     0     0     0     0 44464     0     0      0
## 10     1     1    73    58    21  2023     6     0     2 15334     3     89
## # ℹ 36 more rows
## # ℹ 34 more variables: `13` <dbl>, `14` <dbl>, `15` <dbl>, `16` <dbl>,
## #   `17` <dbl>, `18` <dbl>, `19` <dbl>, `20` <dbl>, `21` <dbl>, `22` <dbl>,
## #   `23` <dbl>, `24` <dbl>, `25` <dbl>, `26` <dbl>, `27` <dbl>, `28` <dbl>,
## #   `29` <dbl>, `30` <dbl>, `31` <dbl>, `32` <dbl>, `33` <dbl>, `34` <dbl>,
## #   `35` <dbl>, `36` <dbl>, `37` <dbl>, `38` <dbl>, `39` <dbl>, `40` <dbl>,
## #   `41` <dbl>, `42` <dbl>, `43` <dbl>, `44` <dbl>, `45` <dbl>, `46` <dbl>

Demanda final

MIP_2006h<- read_excel("C:/Users/02lmg/OneDrive/Escritorio/Ciclo 6/METODO PARA EL ANALISIS ECONOMICO/unidad 2/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(MIP_2006h)<-as.character(1:2)
print(MIP_2006h)
## # A tibble: 46 × 2
##         `1`   `2`
##       <dbl> <dbl>
##  1       0      0
##  2       0      0
##  3  314561.     0
##  4       0      0
##  5 1323380.     0
##  6   50357.     0
##  7  526957.     0
##  8  101237.     0
##  9   44341.     0
## 10    2422      0
## # ℹ 36 more rows

Vector de producción

MIP_2006_x<-read_excel("C:/Users/02lmg/OneDrive/Escritorio/Ciclo 6/METODO PARA EL ANALISIS ECONOMICO/unidad 2/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(MIP_2006_x)<-as.character("x")
print(MIP_2006_x)
## # A tibble: 46 × 1
##           x
##       <dbl>
##  1  182287 
##  2   34523 
##  3  715438.
##  4   80222 
##  5 1474837.
##  6  312032.
##  7  576046.
##  8  172777.
##  9  188273.
## 10  490735.
## # ℹ 36 more rows

Agregación de servicios.

servicios_row_2006<-colSums(MIP.2006CI[41:46,])
temporal_2006<-rbind(MIP.2006CI[1:40,],servicios_row_2006)
servicios_col_2006<-rowSums(temporal_2006[,41:46])
MIP.2006CI_corregida<-cbind(temporal_2006[,1:40],servicios_col_2006)
names(MIP.2006CI_corregida)<-as.character(1:41)
X_2006<-rbind(MIP_2006_x[1:40,],colSums(MIP_2006_x[41:46,]))

Funciones.

#Matriz de coeficientes tecnicos
mip_coeficientestecnicos<-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_matriztecnologica<-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
}

Ejercicio 1.

para la MIP 1990

Multiplicadores Expansión de la demanda (me)

A.1990<-mip_coeficientestecnicos(as.matrix(MIP.1990CI_corregida),as.matrix(X_1990))[[1]]
Matriz_T_1990<-mip_matriztecnologica(matriz_coeficientes_tecnicos = A.1990)
L.1990<-mip_matriz_leontief(matriz_tecnologica = Matriz_T_1990)
me_1990<-mip_multiplicadores_expansion_demanda_me(matriz_leontief = L.1990)
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

Multiplicadores de la producción (mp)

mp_1990<-mip_multiplicadores_produccion_mp(matriz_leontief = L.1990)
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

para la MIP 2006

Multiplicadores Expansión de la demanda (me)

A.2006<-mip_coeficientestecnicos(as.matrix(MIP.2006CI_corregida),as.matrix(X_2006))[[1]]
Matriz_T_2006<-mip_matriztecnologica(matriz_coeficientes_tecnicos = A.2006)
L.2006<-mip_matriz_leontief(matriz_tecnologica = Matriz_T_2006)
me_2006<-mip_multiplicadores_expansion_demanda_me(matriz_leontief = L.2006)
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

Multiplicadores de la producción (mp)

mp_2006<-mip_multiplicadores_produccion_mp(matriz_leontief = L.2006)
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

Tasa de cambio para multiplicadores

Tasa de cambio para el multiplicador me.

Tasa.cambio.me<-(me_2006/me_1990)-1
Tasa.cambio.me
##  [1]  0.034053910 -0.195253394 -0.021113105  0.178416600 -0.036093947
##  [6] -0.030710963 -0.046644285 -0.002742203  0.083702802  0.022777299
## [11] -0.236209344 -0.177101522 -0.017328929 -0.151889740  0.054882473
## [16] -0.134309142 -0.065050033 -0.277871073 -0.135805402 -0.164936051
## [21] -0.116253539 -0.135633166 -0.139190604 -0.058148876 -0.086470059
## [26] -0.119413382 -0.085095253  0.025218482 -0.158950892 -0.146492609
## [31] -0.018762181  0.094281625  0.526062912 -0.083167223 -0.365336575
## [36] -0.205911755 -0.079408189  0.339091521 -0.086281707  0.001280605
## [41]  0.044901570

Tasa de cambio para el multiplicador mp.

Tasa.cambio.mp<-(mp_2006/mp_1990)-1
Tasa.cambio.mp 
##  [1] -0.083241979 -0.116236057 -0.157552595 -0.138880926 -0.104058154
##  [6] -0.255693743 -0.052379626 -0.039771981  0.255279837 -0.300537226
## [11] -0.059997035 -0.048722602 -0.004201206 -0.148671768 -0.117488893
## [16] -0.137683601 -0.095219718 -0.015047927 -0.237291624 -0.011699801
## [21] -0.050060911 -0.034340801 -0.251503562 -0.310629203 -0.317550983
## [26] -0.091498080 -0.399441022 -0.060086690 -0.184889040 -0.163718910
## [31] -0.258445453  0.279910220 -0.081359642 -0.042120529 -0.005176405
## [36] -0.073449996 -0.254352824 -0.297049512 -0.524845471 -0.136825786
## [41] -0.162693486

Presentacion de datos

library(dplyr)
library(kableExtra)

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 %>% 
  kable(aption="Tabla de los multiplicadores MIP 1990 y 2006",
        align = "c",
        digits = 2) %>% 
  kable_material(html_font = "sans-serif") %>% 
  kable_styling(bootstrap_options = c("striped", "hover"))
sector me_1990 me_2006 mp_1990 mp_2006 dif_me dif_mp
1 1.26 1.30 1.11 1.01 3.41 -8.32
2 1.27 1.02 1.19 1.05 -19.53 -11.62
3 1.26 1.23 1.75 1.47 -2.11 -15.76
4 1.57 1.85 1.51 1.30 17.84 -13.89
5 1.12 1.08 1.39 1.24 -3.61 -10.41
6 1.45 1.40 2.18 1.62 -3.07 -25.57
7 1.77 1.69 1.12 1.06 -4.66 -5.24
8 1.03 1.03 1.25 1.20 -0.27 -3.98
9 1.38 1.50 1.08 1.36 8.37 25.53
10 1.05 1.07 3.67 2.57 2.28 -30.05
11 1.83 1.40 1.22 1.15 -23.62 -6.00
12 1.79 1.47 1.13 1.08 -17.71 -4.87
13 1.06 1.04 1.01 1.00 -1.73 -0.42
14 1.80 1.53 1.59 1.36 -15.19 -14.87
15 1.84 1.94 1.19 1.05 5.49 -11.75
16 1.55 1.34 2.22 1.92 -13.43 -13.77
17 1.37 1.28 1.25 1.13 -6.51 -9.52
18 1.38 1.00 1.02 1.00 -27.79 -1.50
19 1.51 1.30 1.93 1.47 -13.58 -23.73
20 1.64 1.37 1.03 1.02 -16.49 -1.17
21 1.58 1.40 1.19 1.13 -11.63 -5.01
22 1.36 1.18 1.15 1.11 -13.56 -3.43
23 1.67 1.43 2.70 2.02 -13.92 -25.15
24 1.45 1.36 2.74 1.89 -5.81 -31.06
25 1.33 1.21 3.15 2.15 -8.65 -31.76
26 1.41 1.24 6.99 6.35 -11.94 -9.15
27 1.40 1.28 2.60 1.56 -8.51 -39.94
28 1.46 1.50 1.61 1.51 2.52 -6.01
29 2.37 1.99 2.20 1.79 -15.90 -18.49
30 1.30 1.11 1.50 1.25 -14.65 -16.37
31 1.11 1.09 2.07 1.53 -1.88 -25.84
32 1.45 1.59 2.19 2.80 9.43 27.99
33 1.39 2.12 1.18 1.08 52.61 -8.14
34 1.83 1.67 1.24 1.19 -8.32 -4.21
35 37.44 23.76 1.07 1.06 -36.53 -0.52
36 1.64 1.30 1.29 1.20 -20.59 -7.34
37 1.52 1.40 13.82 10.30 -7.94 -25.44
38 1.26 1.68 2.26 1.59 33.91 -29.70
39 1.35 1.24 3.72 1.77 -8.63 -52.48
40 1.17 1.17 7.53 6.50 0.13 -13.68
41 1.30 1.36 3.67 3.08 4.49 -16.27

Ejercicio 2.

Rasmussen MIP 1990.

rasmussen_1990<-mip_tabla_rasmussen(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

Rasmussen MIP 2006.

library(dplyr)
library(kableExtra)

rasmussen_2006<-mip_tabla_rasmussen(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

Ejercicio 3.

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