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)
## [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)
## [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.
## [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.
## [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 |