Exemplo 1
Exemplo com dados da planilha regional_shift_share_forvideo.xlsx
. Neste caso, será utilizada uma função adaptada shift.2
(adaptação da função shift
do pacote REAT
de WIELAND, 2019) e o pesquisador deve se atentar para que o código seja executado para carregar a função. Leitores mais curiosos podem obter uma visão interessante do modelo no site https://minnesota.reaproject.org/analysis/shift-share/tools/270013/2010/2018/ do Pacific Northwest Regional Economic Analysis Project (PNREAP).
# a notacao acompanha a de Matlaba et al (2012)
shift.2 <- function(region_t, region_t1, nation_t, nation_t1) {
industries <- length(region_t)
sum_region_t <- sum(region_t)
sum_region_t1 <- sum(region_t1)
sum_nation_t <- sum(nation_t)
sum_nation_t1 <- sum(nation_t1)
# National Growth Effect on industry i in the rth region between (t-1) and t.
i <- 0
NS_tir <- vector()
IM_tir <- vector()
RS_tir <- vector()
for (i in 1:industries) {
NS_tir[i] <- (region_t[i] * ((sum_nation_t1/sum_nation_t) - 1))
IM_tir[i] <- (region_t[i] * ((nation_t1[i]/nation_t[i]) - (sum_nation_t1/sum_nation_t)))
RS_tir[i] <- (region_t[i] * ((region_t1[i]/region_t[i]) - (nation_t1[i]/nation_t[i])))
}
shifts <- list(NS_tir = NS_tir, IM_tir = IM_tir, RS_tir = RS_tir)
return(shifts)
}
Carregar dados
# Example US County dataset
dados.county <- structure(list(industry = c("Natural Resources and Mining", "Construction",
"Manufacturing", "Trade, Transportation, and Utilities", "Information", "Financial Activities",
"Professional and Business Services", "Education and Health Services", "Leisure and Hospitality",
"Other Services", "Government"), e_County2000 = c(394, 1478, 3947, 8443, 1092,
1163, 2629, 4837, 3733, 1357, 4782), e_County2010 = c(397, 1490, 3483, 8661,
1146, 1513, 2426, 7946, 3576, 1273, 5090), e_g_County0010 = c(0.761421319796954,
0.81190798376184, -11.7557638712947, 2.58202060878835, 4.94505494505495, 30.0945829750645,
-7.72156713579308, 64.2753772999793, -4.20573265470131, -6.19012527634488, 6.44081974069427),
e_US2000 = c(1604107, 6652513, 17225035, 26916200, 3739480, 7648205, 16924068,
14659790, 11732708, 4185780, 20295357), e_US2010 = c(1727150, 5394677, 11570589,
25347938, 2714841, 7435174, 17095063, 18953034, 12860993, 4368295, 21827606),
e_g_US_0010 = c(7.67049828970262, -18.9076819541728, -32.8269057218171, -5.82646138756585,
-27.4005744114155, -2.78537251551181, 1.01036582930298, 29.2858492515923,
9.61657786079735, 4.3603581650254, 7.54975140373239), color = c("blue", "yellow",
"green", "red", "grey", "brown", "orange", "lightblue", "plum", "lightred",
"lightgreen")), row.names = c(NA, -11L), class = c("tbl_df", "tbl", "data.frame"))
Cálculo do Modelo Clássico Shift-share
# Loads the data
results <- shift.2(dados.county$e_County2000, dados.county$e_County2010, dados.county$e_US2000,
dados.county$e_US2010)
# results for County and US (2000 vs. 2010) et+1 - et = nps+nds+nts
list(dados.county$e_County2000, dados.county$e_County2010, dados.county$e_US2000,
dados.county$e_US2010)
[[1]]
[1] 394 1478 3947 8443 1092 1163 2629 4837 3733 1357 4782
[[2]]
[1] 397 1490 3483 8661 1146 1513 2426 7946 3576 1273 5090
[[3]]
[1] 1604107 6652513 17225035 26916200 3739480 7648205 16924068 14659790
[9] 11732708 4185780 20295357
[[4]]
[1] 1727150 5394677 11570589 25347938 2714841 7435174 17095063 18953034
[9] 12860993 4368295 21827606
list(results)
[[1]]
[[1]]$NS_tir
[1] -6.850613 -25.698493 -68.627843 -146.801338 -18.986979 -20.221480
[7] -45.711325 -84.102579 -64.906952 -23.594625 -83.146275
[[1]]$IM_tir
[1] 37.07238 -253.75705 -1227.05013 -345.12680 -280.22729 -12.17240
[7] 72.27384 1500.65911 423.89380 82.76468 444.17539
[[1]]$RS_tir
[1] -27.22176 291.45554 831.67797 709.92813 353.21427 382.39388
[7] -229.56252 1692.44347 -515.98685 -143.17006 -53.02911
list(somaNS = sum(results$NS_tir))
$somaNS
[1] -588.6485
list(somaIM = sum(results$IM_tir))
$somaIM
[1] 442.5055
list(somaRS = sum(results$RS_tir))
$somaRS
[1] 3292.143
# total shift by industry
list(total <- I(results$NS_tir + results$IM_tir + results$RS_tir))
[[1]]
[1] 3 12 -464 218 54 350 -203 3109 -157 -84 308
tabela <- cbind(dados.county$industry, as.data.frame(results))
print(tabela)
dados.county$industry NS_tir IM_tir RS_tir
1 Natural Resources and Mining -6.850613 37.07238 -27.22176
2 Construction -25.698493 -253.75705 291.45554
3 Manufacturing -68.627843 -1227.05013 831.67797
4 Trade, Transportation, and Utilities -146.801338 -345.12680 709.92813
5 Information -18.986979 -280.22729 353.21427
6 Financial Activities -20.221480 -12.17240 382.39388
7 Professional and Business Services -45.711325 72.27384 -229.56252
8 Education and Health Services -84.102579 1500.65911 1692.44347
9 Leisure and Hospitality -64.906952 423.89380 -515.98685
10 Other Services -23.594625 82.76468 -143.17006
11 Government -83.146275 444.17539 -53.02911
Modelo Shift-share de Arcelus (1984)
O modelo clássico foi decomposto por Arcelus (1984) de modo a poder melhorar seu poder de explicação dentro de cada componente. Conforme exposto por Martinez (2007, p.199) existem três fontes potenciais de interação entre o efeito da composição da estrutura econômica da região que procedem de sua particular capacidade competitiva.
Primeiro, o volume da atividade econômica de um setor no ano t0 influencia no tamanho do efeito competitivo desta atividade, pois duas localidades com a mesma taxa de crescimento regional do setor i no período de estudo, mas que tenham partido de níveis de desenvolvimento distintos apresentarão valores diferentes para este componente competitivo. Isto será um problema para comparações entre estas localidades.
Segundo, devido às relações interindustriais dentro do modelo de crescimento de cada local. Um setor \(i\) com vantagem competitiva em uma localidade induzirá maior expansão de seu setor. O efeito do shift-share seria positivo e grande, mas se poderia argumentar a existência de maiores ligações setoriais com localidades geograficamente próximas.
Terceiro, o setor \(i\) pode apresentar comportamento parecido ao competitivo mas que não comercialize seus produtos além do mercado local e que não esteja competindo pelos recursos produtivos destes setores em outras localidades.
Estas dificuldades foram trabalhadas por Esteban-Marquillas (1972) em torno do componente homotético e o componente residual. O componente homotético seria o emprego teórico que o município teria se sua estrutura produtiva fosse exatamente a mesma que a estrutura produtiva da localidade de referência (por exemplo o estado).
Portanto, Esteban-Marquillas decompõe o efeito total em nacional, mix industrial, regional e alocativo, para cada local \(j\) e setor \(i\). Ou seja,
\[
e^{t}_{i}-e^{t-1}_i=NS_i+IM_i+RS_i+AL_i
\]
em que \(e^{t}_{i}\) e \(e^{t-1}_i\) são os valores do emprego em dois períodos de tempo (final e inicial) em uma localidade \(j\) e o setor \(i\). Para o caso dos municípios relativamente ao estado de MS como localidade de referência.
O cálculo do componente regional homotético de um setor \(i\) (\(h^{t-1}_i\)) será baseado nos valores do município (\(e^{t-1}\)) e do estado (\(E^{t-1}\)) entre todos os setores, e o emprego estadual específico da indústria (\(E^{t-1}_i\)).
\[
h_i^{t-1} = e^{t-1} \frac{E_i^{t-1}}{E^{t-1}}
\]
As equações do modelo de Esteban-Marquillas (1972) de shift-share serão:
\[
NS_i = e^{t-1}_iG
\]
\[
IM_i = e^{t-1}_i(G_i-G)
\]
\[
RS_i = h_i^{t-1} (g_i-G_i)
\]
\[
AL_i = (e^{t-1}_i-h_i^{t-1}) (g_i-G_i)
\]
A mudança percentual total do emprego do estado para toos os setores i combinados será \(G\), enquanto as mudanças percentuais do componente nacional setorial e regional setorial serão \(G_i\) e \(g_i\) respectivamente.
O modelo Arcelus (1984) então será uma extensão dessa decomposição, inserindo efeitos esperados e diferenciais também nos componentes nacional (NS) e mix industrial (IM) da seguinte forma, com oito componentes, após desagregar entre os componentes homotético esperado (E) e o diferencial residual (D):
\[
e^{t}_i-e^{t-1}_i=NSE_i+NSD_i+IME_i+IMD_i+RGE_i+RGD_i+RIE_i+RID_i
\]
em que:
\[
NS_i = NSE_i+NSD_i
\]
\[
IM_i = IME_i+IMD_i
\]
\[
RS_i = RGE_i+RGD_i+RIE_i+RID_i
\]
\[
h_i^{t-1} = e^{t-1} \frac{E_i^{t-1}}{E^{t-1}}
\]
de tal forma que:
\[
NSE_i = h_i^{t-1} G
\]
\[
NSD_i = (e_i^{t-1}-h_i^{t-1}) G
\]
\[
IME_i = h_i^{t-1} (G_i-G)
\]
\[
IMD_i = (e_i^{t-1}-h_i^{t-1}) (G_i-G)
\]
\[
RGE_i = h_i^{t-1} (g-G)
\]
\[
RGD_i = (e_i^{t-1}-h_i^{t-1}) (g-G)
\]
\[
RIE_i = h_i^{t-1} (g_i-g-G_i+G)
\]
\[
RID_i = (e_i^{t-1}-h_i^{t-1}) (g_i-g-G_i+G)
\]
A mudança percentual total do emprego estadual e municipal para todos os setores combinados são G e g respectivamente, enquanto as mudanças específicas do setor para o estado e o município são, respectivamente, \(G_i\) e \(g_i\).
Isto posto, é preciso alterar a função para realizar estas decomposições. Faremos a partir da função shift.2.R
do modelo tradicional.
Seja a funçao clássica para o setor \(i\) e região \(r\):
# a notacao acompanha a do Matlaba et al (2012)
shift.2 <-
function (region_t, region_t1, nation_t, nation_t1) {
industries <- length(region_t)
sum_region_t <- sum(region_t)
sum_region_t1 <- sum(region_t1)
sum_nation_t <- sum(nation_t)
sum_nation_t1 <- sum(nation_t1)
# National Growth Effect on industry i in the rth region between (t-1) and t.
i <- 0
NS_tir <- vector()
IM_tir <- vector()
RS_tir <- vector()
for (i in 1:industries) {
NS_tir[i] <- (region_t[i]*((sum_nation_t1/sum_nation_t)-1))
IM_tir[i] <- (region_t[i]*
((nation_t1[i]/nation_t[i])-(sum_nation_t1/sum_nation_t)))
RS_tir[i] <- (region_t[i]*
((region_t1[i]/region_t[i])-(nation_t1[i]/nation_t[i])))
}
shifts <- list(NS_tir=NS_tir,IM_tir=IM_tir,RS_tir=RS_tir)
return(shifts)
}
A nova função será chamada de shift.arcelus
, para indicar a desagregação utilizada.
shift.arcelus <- function(region_t, region_t1, nation_t, nation_t1) {
industries <- length(region_t)
sum_region_t <- sum(region_t)
sum_region_t1 <- sum(region_t1)
sum_nation_t <- sum(nation_t)
sum_nation_t1 <- sum(nation_t1)
# National Growth Effect on industry i in the rth region between (t-1) and t.
i <- 0
# novos componentes de taxas de crescimento e homotetico
h <- vector()
G <- vector()
g <- vector()
gi <- vector()
Gi <- vector()
# NS_tir <- vector()
NSE <- vector()
NSD <- vector()
# IM_tir <- vector()
IME <- vector()
IMD <- vector()
# RS_tir <- vector()
RGE <- vector()
RGD <- vector()
RIE <- vector()
RID <- vector()
VarTot <- vector()
conferencia <- vector()
for (i in 1:industries) {
h[i] <- region_t[i] * (nation_t[i]/sum_nation_t)
G[i] <- (sum_nation_t1 - sum_nation_t)/sum_nation_t
g[i] <- (sum_region_t1 - sum_region_t)/sum_region_t
gi[i] <- (region_t1[i] - region_t[i])/region_t[i]
Gi[i] <- (nation_t1[i] - nation_t[i])/nation_t[i]
# componentes
NSE[i] <- h[i] * G[i]
NSD[i] <- (region_t[i] - h[i]) * G[i]
IME[i] <- h[i] * (Gi[i] - G[i])
IMD[i] <- (region_t[i] - h[i]) * (Gi[i] - G[i])
RGE[i] <- h[i] * (g[i] - G[i])
RGD[i] <- (region_t[i] - h[i]) * (g[i] - G[i])
RIE[i] <- h[i] * (gi[i] - g[i] - Gi[i] + G[i])
RID[i] <- (region_t[i] - h[i]) * (gi[i] - g[i] - Gi[i] + G[i])
VarTot[i] <- NSE[i] + NSD[i] + IME[i] + IMD[i] + RGE[i] + RGD[i] + RIE[i] +
RID[i]
conferencia[i] <- region_t1[i] - region_t[i]
}
shifts <- list(NSE = NSE, NSD = NSD, IME = IME, IMD = IMD, RGE = RGE, RGD = RGD,
RIE = RIE, RID = RID, VarTot = VarTot, conferencia = conferencia)
return(shifts)
}
Exemplo 2
Exemplo com dados de emprego formal dos municípios brasileiros de Campo Grande-MS, Dourados-MS e Três Lagoas-MS (os dados básicos da planilha emprego_r.xlsx
foram colocados em formato dput()
para facilitar reprodução). Primeiro vou testar o shift-share para Campo Grande, Dourados e Três Lagoas, para o período 2006-2016 relativamente ao estado de MS.
Carregar dados
dados.MS <- structure(list(industry = c("01-Extrativa Mineral", "02-Prod. Mineral Não Metálico",
"03-Indústria Metalúrgica", "04-Indústria Mecânica", "05-Elétrico e Comunic",
"06-Material de Transporte", "07-Madeira e Mobiliário", "08-Papel e Gráf", "09-Borracha, Fumo, Couros",
"10-Indústria Química", "11-Indústria Têxtil", "12-Indústria Calçados", "13-Alimentos e Bebidas",
"14-Serviço Utilidade Pública", "15-Construção Civil", "16-Comércio Varejista",
"17-Comércio Atacadista", "18-Instituição Financeira", "19-Adm Técnica Profissional",
"20-Transporte e Comunicações", "21-Aloj Comunic", "22-Médicos Odontológicos Vet",
"23-Ensino", "24-Administração Pública", "25-Agricultura"), MS2016 = c(2448,
3738, 4206, 2754, 553, 426, 2645, 4975, 3267, 13348, 5972, 1762, 45894, 6688,
25891, 109490, 15879, 7217, 43617, 30063, 60136, 24689, 24507, 122472, 70917),
MS2006 = c(1601, 2845, 2514, 826, 256, 387, 2592, 2309, 2250, 1466, 5257, 1014,
31425, 3023, 14525, 72503, 9226, 6062, 24633, 16937, 32809, 16028, 12209,
118264, 57724), CG2016 = c(107, 815, 1327, 628, 131, 179, 873, 938, 1266,
1374, 2163, 25, 7480, 4862, 14376, 45364, 6918, 3626, 29612, 14260, 29033,
14713, 15219, 65284, 4168), CG2006 = c(169, 626, 683, 439, 141, 130, 845,
1450, 1201, 705, 1263, 18, 4378, 2072, 10962, 32039, 4720, 3487, 17498, 9719,
20498, 11210, 7069, 69417, 4321), DO2016 = c(17, 421, 377, 419, 19, 34, 175,
261, 201, 1849, 379, 0, 5602, 210, 1710, 13229, 1935, 832, 3856, 2623, 14889,
3383, 3901, 4975, 1805), DO2006 = c(30, 274, 573, 153, 3, 54, 140, 311, 235,
230, 256, 0, 3850, 184, 722, 8928, 1056, 689, 1864, 1496, 3346, 1445, 1850,
4439, 1768), TL2016 = c(80, 272, 650, 1035, 221, 62, 86, 2762, 94, 837, 1627,
812, 1318, 357, 4334, 5458, 494, 245, 2504, 2164, 2210, 1426, 993, 3357,
4179), TL2006 = c(11, 274, 71, 71, 76, 46, 43, 121, 224, 352, 1695, 492,
958, 43, 266, 3357, 313, 156, 1449, 823, 994, 622, 362, 1863, 2745)), row.names = c(NA,
-25L), class = c("tbl_df", "tbl", "data.frame"))
# Loads the data formato (cg2006,cg2016,ms2006,ms2016)
Resultado para Campo Grande - Shift-share Clássico
results <- shift.2(dados.MS$CG2006, dados.MS$CG2016, dados.MS$MS2006, dados.MS$MS2016)
# resultados para o município e o MS (2006 vs. 2016) et+1 - et = nps+nds+nts
list(dados.MS$CG2006, dados.MS$CG2016, dados.MS$MS2006, dados.MS$MS2016)
[[1]]
[1] 169 626 683 439 141 130 845 1450 1201 705 1263 18
[13] 4378 2072 10962 32039 4720 3487 17498 9719 20498 11210 7069 69417
[25] 4321
[[2]]
[1] 107 815 1327 628 131 179 873 938 1266 1374 2163 25
[13] 7480 4862 14376 45364 6918 3626 29612 14260 29033 14713 15219 65284
[25] 4168
[[3]]
[1] 1601 2845 2514 826 256 387 2592 2309 2250 1466
[11] 5257 1014 31425 3023 14525 72503 9226 6062 24633 16937
[21] 32809 16028 12209 118264 57724
[[4]]
[1] 2448 3738 4206 2754 553 426 2645 4975 3267 13348
[11] 5972 1762 45894 6688 25891 109490 15879 7217 43617 30063
[21] 60136 24689 24507 122472 70917
list(results)
[[1]]
[[1]]$NS_tir
[1] 75.07177 278.07651 303.39658 195.00893 62.63385 57.74752
[7] 375.35887 644.10693 533.49823 313.16923 561.03935 7.99581
[13] 1944.75873 920.40660 4869.44842 14232.09795 2096.67912 1548.96612
[19] 7772.81594 4317.29330 9105.45098 4979.61291 3140.13235 30835.84206
[25] 1919.43866
[[1]]$IM_tir
[1] 14.336721 -81.585122 156.283615 829.678725 100.948185
[6] -44.646743 -358.080704 1030.081027 9.353775 5400.889430
[11] -389.259817 5.282296 71.002037 1591.627806 3708.458091
[16] 2112.418728 1306.980103 -884.583904 5712.428729 3214.831280
[21] 7967.573071 1077.899567 3980.398567 -28365.887245 -931.860652
[[1]]$RS_tir
[1] -151.408495 -7.491388 184.319809 -835.687651 -173.582031
[6] 35.899225 10.721836 -2186.187960 -477.852000 -5045.058663
[11] 728.220468 -6.278107 1086.239236 277.965597 -5163.906506
[16] -3019.516682 -1205.659224 -525.382217 -1371.244672 -2991.124579
[21] -8538.024048 -2554.512478 1029.469080 -6602.954813 -1140.578009
results
$NS_tir
[1] 75.07177 278.07651 303.39658 195.00893 62.63385 57.74752
[7] 375.35887 644.10693 533.49823 313.16923 561.03935 7.99581
[13] 1944.75873 920.40660 4869.44842 14232.09795 2096.67912 1548.96612
[19] 7772.81594 4317.29330 9105.45098 4979.61291 3140.13235 30835.84206
[25] 1919.43866
$IM_tir
[1] 14.336721 -81.585122 156.283615 829.678725 100.948185
[6] -44.646743 -358.080704 1030.081027 9.353775 5400.889430
[11] -389.259817 5.282296 71.002037 1591.627806 3708.458091
[16] 2112.418728 1306.980103 -884.583904 5712.428729 3214.831280
[21] 7967.573071 1077.899567 3980.398567 -28365.887245 -931.860652
$RS_tir
[1] -151.408495 -7.491388 184.319809 -835.687651 -173.582031
[6] 35.899225 10.721836 -2186.187960 -477.852000 -5045.058663
[11] 728.220468 -6.278107 1086.239236 277.965597 -5163.906506
[16] -3019.516682 -1205.659224 -525.382217 -1371.244672 -2991.124579
[21] -8538.024048 -2554.512478 1029.469080 -6602.954813 -1140.578009
list(somaNS = sum(results$NS_tir))
$somaNS
[1] 91090.05
list(somaIM = sum(results$IM_tir))
$somaIM
[1] 7234.568
list(somaRS = sum(results$RS_tir))
$somaRS
[1] -38643.61
# total shift by industry
list(total <- I(results$NS_tir + results$IM_tir + results$RS_tir))
[[1]]
[1] -62 189 644 189 -10 49 28 -512 65 669 900 7
[13] 3102 2790 3414 13325 2198 139 12114 4541 8535 3503 8150 -4133
[25] -153
tabela <- cbind(dados.MS$industry, as.data.frame(results))
# CAMPO GRANDE
print(tabela)
dados.MS$industry NS_tir IM_tir RS_tir
1 s1 75.07177 14.336721 -151.408495
2 s2 278.07651 -81.585122 -7.491388
3 s3 303.39658 156.283615 184.319809
4 s4 195.00893 829.678725 -835.687651
5 s5 62.63385 100.948185 -173.582031
6 s6 57.74752 -44.646743 35.899225
7 s7 375.35887 -358.080704 10.721836
8 s8 644.10693 1030.081027 -2186.187960
9 s9 533.49823 9.353775 -477.852000
10 s10 313.16923 5400.889430 -5045.058663
11 s11 561.03935 -389.259817 728.220468
12 s12 7.99581 5.282296 -6.278107
13 s13 1944.75873 71.002037 1086.239236
14 s14 920.40660 1591.627806 277.965597
15 s15 4869.44842 3708.458091 -5163.906506
16 s16 14232.09795 2112.418728 -3019.516682
17 s17 2096.67912 1306.980103 -1205.659224
18 s18 1548.96612 -884.583904 -525.382217
19 s19 7772.81594 5712.428729 -1371.244672
20 s20 4317.29330 3214.831280 -2991.124579
21 s21 9105.45098 7967.573071 -8538.024048
22 s22 4979.61291 1077.899567 -2554.512478
23 s23 3140.13235 3980.398567 1029.469080
24 s24 30835.84206 -28365.887245 -6602.954813
25 s25 1919.43866 -931.860652 -1140.578009
Resultado para Dourados - Shift-share Clássico
# DOURADOS
results <- shift.2(dados.MS$DO2006, dados.MS$DO2016, dados.MS$MS2006, dados.MS$MS2016)
# resultados para o município e o MS (2006 vs. 2016) et+1 - et = nps+nds+nts
list(dados.MS$DO2006, dados.MS$DO2016, dados.MS$MS2006, dados.MS$MS2016)
[[1]]
[1] 30 274 573 153 3 54 140 311 235 230 256 0 3850 184 722
[16] 8928 1056 689 1864 1496 3346 1445 1850 4439 1768
[[2]]
[1] 17 421 377 419 19 34 175 261 201 1849 379 0
[13] 5602 210 1710 13229 1935 832 3856 2623 14889 3383 3901 4975
[25] 1805
[[3]]
[1] 1601 2845 2514 826 256 387 2592 2309 2250 1466
[11] 5257 1014 31425 3023 14525 72503 9226 6062 24633 16937
[21] 32809 16028 12209 118264 57724
[[4]]
[1] 2448 3738 4206 2754 553 426 2645 4975 3267 13348
[11] 5972 1762 45894 6688 25891 109490 15879 7217 43617 30063
[21] 60136 24689 24507 122472 70917
list(results)
[[1]]
[[1]]$NS_tir
[1] 13.326350 121.714000 254.533292 67.964387 1.332635 23.987431
[7] 62.189635 138.149832 104.389744 102.168686 113.718190 0.000000
[13] 1710.214961 81.734949 320.720832 3965.921862 469.087532 306.061846
[19] 828.010568 664.540670 1486.332275 641.885875 821.791604 1971.855639
[25] 785.366247
[[1]]$IM_tir
[1] 2.544980 -35.709782 131.113487 289.159100 2.147834
[6] -18.545570 -59.326981 220.934620 1.830256 1761.992296
[11] -78.899852 0.000000 62.438977 141.341465 244.253489
[16] 588.647411 292.409108 -174.785865 608.524811 494.843872
[21] 1300.590277 138.944235 1041.694349 -1813.909755 -381.284340
[[1]]$RS_tir
[1] -28.87133 60.99578 -581.64678 -91.12349 12.51953 -25.44186
[7] 32.13735 -409.08445 -140.22000 -245.16098 88.18166 NaN
[13] -20.65394 -197.07641 423.02568 -253.56927 117.50336 11.72402
[19] 555.46462 -32.38454 8756.07745 1157.16989 187.51405 378.05412
[25] -367.08191
results
$NS_tir
[1] 13.326350 121.714000 254.533292 67.964387 1.332635 23.987431
[7] 62.189635 138.149832 104.389744 102.168686 113.718190 0.000000
[13] 1710.214961 81.734949 320.720832 3965.921862 469.087532 306.061846
[19] 828.010568 664.540670 1486.332275 641.885875 821.791604 1971.855639
[25] 785.366247
$IM_tir
[1] 2.544980 -35.709782 131.113487 289.159100 2.147834
[6] -18.545570 -59.326981 220.934620 1.830256 1761.992296
[11] -78.899852 0.000000 62.438977 141.341465 244.253489
[16] 588.647411 292.409108 -174.785865 608.524811 494.843872
[21] 1300.590277 138.944235 1041.694349 -1813.909755 -381.284340
$RS_tir
[1] -28.87133 60.99578 -581.64678 -91.12349 12.51953 -25.44186
[7] 32.13735 -409.08445 -140.22000 -245.16098 88.18166 NaN
[13] -20.65394 -197.07641 423.02568 -253.56927 117.50336 11.72402
[19] 555.46462 -32.38454 8756.07745 1157.16989 187.51405 378.05412
[25] -367.08191
list(somaNS = sum(results$NS_tir))
$somaNS
[1] 15057
list(somaIM = sum(results$IM_tir))
$somaIM
[1] 4760.948
list(somaRS = sum(results$RS_tir))
$somaRS
[1] NaN
# total shift by industry
list(total <- I(results$NS_tir + results$IM_tir + results$RS_tir))
[[1]]
[1] -13 147 -196 266 16 -20 35 -50 -34 1619 123 NaN
[13] 1752 26 988 4301 879 143 1992 1127 11543 1938 2051 536
[25] 37
tabela <- cbind(dados.MS$industry, as.data.frame(results))
print(tabela)
dados.MS$industry NS_tir IM_tir RS_tir
1 s1 13.326350 2.544980 -28.87133
2 s2 121.714000 -35.709782 60.99578
3 s3 254.533292 131.113487 -581.64678
4 s4 67.964387 289.159100 -91.12349
5 s5 1.332635 2.147834 12.51953
6 s6 23.987431 -18.545570 -25.44186
7 s7 62.189635 -59.326981 32.13735
8 s8 138.149832 220.934620 -409.08445
9 s9 104.389744 1.830256 -140.22000
10 s10 102.168686 1761.992296 -245.16098
11 s11 113.718190 -78.899852 88.18166
12 s12 0.000000 0.000000 NaN
13 s13 1710.214961 62.438977 -20.65394
14 s14 81.734949 141.341465 -197.07641
15 s15 320.720832 244.253489 423.02568
16 s16 3965.921862 588.647411 -253.56927
17 s17 469.087532 292.409108 117.50336
18 s18 306.061846 -174.785865 11.72402
19 s19 828.010568 608.524811 555.46462
20 s20 664.540670 494.843872 -32.38454
21 s21 1486.332275 1300.590277 8756.07745
22 s22 641.885875 138.944235 1157.16989
23 s23 821.791604 1041.694349 187.51405
24 s24 1971.855639 -1813.909755 378.05412
25 s25 785.366247 -381.284340 -367.08191
Resultado para Três Lagoas - Shift-share Clássico
# TRES LAGOAS
results <- shift.2(dados.MS$TL2006, dados.MS$TL2016, dados.MS$MS2006, dados.MS$MS2016)
# resultados para o município e o MS (2006 vs. 2016) et+1 - et = nps+nds+nts
list(dados.MS$TL2006, dados.MS$TL2016, dados.MS$MS2006, dados.MS$MS2016)
[[1]]
[1] 11 274 71 71 76 46 43 121 224 352 1695 492 958 43 266
[16] 3357 313 156 1449 823 994 622 362 1863 2745
[[2]]
[1] 80 272 650 1035 221 62 86 2762 94 837 1627 812 1318 357 4334
[16] 5458 494 245 2504 2164 2210 1426 993 3357 4179
[[3]]
[1] 1601 2845 2514 826 256 387 2592 2309 2250 1466
[11] 5257 1014 31425 3023 14525 72503 9226 6062 24633 16937
[21] 32809 16028 12209 118264 57724
[[4]]
[1] 2448 3738 4206 2754 553 426 2645 4975 3267 13348
[11] 5972 1762 45894 6688 25891 109490 15879 7217 43617 30063
[21] 60136 24689 24507 122472 70917
list(results)
[[1]]
[[1]]$NS_tir
[1] 4.886328 121.714000 31.539029 31.539029 33.760088 20.433737
[7] 19.101102 53.749613 99.503416 156.362511 752.938794 218.552146
[13] 425.554788 19.101102 118.160306 1491.218603 139.038255 69.297022
[19] 643.662722 365.586211 441.546408 276.299664 160.804627 827.566356
[25] 1219.361056
[[1]]$IM_tir
[1] 0.9331594 -35.7097819 16.2461737 134.1849418 54.4117875
[6] -15.7980783 -18.2218583 85.9584857 1.7445841 2696.6142970
[11] -522.4033178 144.3827656 15.5367637 33.0308859 89.9881274
[16] 221.3361737 86.6705026 -39.5741580 473.0431608 272.2302854
[21] 386.3678228 59.8085219 203.8342455 -761.2781874 -591.9827562
[[1]]$RS_tir
[1] 63.18051 -88.00422 531.21480 798.27603 56.82812 11.36434
[7] 42.12076 2501.29190 -231.24800 -2367.97681 -298.53548 -42.93491
[13] -81.09155 261.86801 3859.85157 388.44522 -44.70876 59.27714
[19] -61.70588 703.18350 388.08577 467.89181 266.36113 1427.71183
[25] 806.62170
results
$NS_tir
[1] 4.886328 121.714000 31.539029 31.539029 33.760088 20.433737
[7] 19.101102 53.749613 99.503416 156.362511 752.938794 218.552146
[13] 425.554788 19.101102 118.160306 1491.218603 139.038255 69.297022
[19] 643.662722 365.586211 441.546408 276.299664 160.804627 827.566356
[25] 1219.361056
$IM_tir
[1] 0.9331594 -35.7097819 16.2461737 134.1849418 54.4117875
[6] -15.7980783 -18.2218583 85.9584857 1.7445841 2696.6142970
[11] -522.4033178 144.3827656 15.5367637 33.0308859 89.9881274
[16] 221.3361737 86.6705026 -39.5741580 473.0431608 272.2302854
[21] 386.3678228 59.8085219 203.8342455 -761.2781874 -591.9827562
$RS_tir
[1] 63.18051 -88.00422 531.21480 798.27603 56.82812 11.36434
[7] 42.12076 2501.29190 -231.24800 -2367.97681 -298.53548 -42.93491
[13] -81.09155 261.86801 3859.85157 388.44522 -44.70876 59.27714
[19] -61.70588 703.18350 388.08577 467.89181 266.36113 1427.71183
[25] 806.62170
list(somaNS = sum(results$NS_tir))
$somaNS
[1] 7741.277
list(somaIM = sum(results$IM_tir))
$somaIM
[1] 2991.355
list(somaRS = sum(results$RS_tir))
$somaRS
[1] 9417.369
# total shift by industry
list(total <- I(results$NS_tir + results$IM_tir + results$RS_tir))
[[1]]
[1] 69 -2 579 964 145 16 43 2641 -130 485 -68 320 360 314 4068
[16] 2101 181 89 1055 1341 1216 804 631 1494 1434
tabela <- cbind(dados.MS$industry, as.data.frame(results))
print(tabela)
dados.MS$industry NS_tir IM_tir RS_tir
1 s1 4.886328 0.9331594 63.18051
2 s2 121.714000 -35.7097819 -88.00422
3 s3 31.539029 16.2461737 531.21480
4 s4 31.539029 134.1849418 798.27603
5 s5 33.760088 54.4117875 56.82812
6 s6 20.433737 -15.7980783 11.36434
7 s7 19.101102 -18.2218583 42.12076
8 s8 53.749613 85.9584857 2501.29190
9 s9 99.503416 1.7445841 -231.24800
10 s10 156.362511 2696.6142970 -2367.97681
11 s11 752.938794 -522.4033178 -298.53548
12 s12 218.552146 144.3827656 -42.93491
13 s13 425.554788 15.5367637 -81.09155
14 s14 19.101102 33.0308859 261.86801
15 s15 118.160306 89.9881274 3859.85157
16 s16 1491.218603 221.3361737 388.44522
17 s17 139.038255 86.6705026 -44.70876
18 s18 69.297022 -39.5741580 59.27714
19 s19 643.662722 473.0431608 -61.70588
20 s20 365.586211 272.2302854 703.18350
21 s21 441.546408 386.3678228 388.08577
22 s22 276.299664 59.8085219 467.89181
23 s23 160.804627 203.8342455 266.36113
24 s24 827.566356 -761.2781874 1427.71183
25 s25 1219.361056 -591.9827562 806.62170
Agora faz-se para a função shift.arcelus
:
Resultados para Campo Grande - Shift-share Arcelus
# CAMPO GRANDE - ARCELUS
results.CG <- shift.arcelus(dados.MS$CG2006, dados.MS$CG2016, dados.MS$MS2006, dados.MS$MS2016)
tabelacg.arcelus <- cbind(dados.MS$industry, as.data.frame(results.CG))
list(tabelacg.arcelus)
[[1]]
dados.MS$industry NSE NSD IME IMD RGE
1 s1 0.27397771 74.79780 0.05232249 14.284399 -0.09447112
2 s2 1.80340717 276.27310 -0.52910328 -81.056019 -0.62183852
3 s3 1.73869403 301.65788 0.89562444 155.387990 -0.59952458
4 s4 0.36718231 194.64174 1.56220210 828.116523 -0.12660929
5 s5 0.03655075 62.59730 0.05890955 100.889275 -0.01260318
6 s6 0.05094382 57.69657 -0.03938655 -44.607356 -0.01756610
7 s7 2.21783326 373.14103 -2.11574407 -355.964960 -0.76473809
8 s8 3.39022968 640.71670 5.42178805 1024.659239 -1.16899581
9 s9 2.73629371 530.76193 0.04797518 9.305799 -0.94351008
RGD RIE RID VarTot conferencia
1 -25.79126 -0.45810077 -125.06466 -62 -62
2 -95.26260 0.57325468 87.81980 189 189
3 -104.01561 1.65581782 287.27912 644 644
4 -67.11503 -1.44690701 -766.99910 189 189
5 -21.58437 -0.08869274 -151.89636 -10 -10
6 -19.89454 0.04923575 55.76209 49 49
7 -128.66394 0.82808879 139.32242 28 28
8 -220.92755 -10.33791234 -1953.75350 -512 -512
9 -183.01370 -1.50737609 -292.38742 65 65
[ reached 'max' / getOption("max.print") -- omitted 16 rows ]
somaNSa.CG <- results.CG$NSE + results.CG$NSD
somaIMa.CG <- results.CG$IME + results.CG$IMD
somaRSa.CG <- results.CG$RGE + results.CG$RGD + results.CG$RIE + results.CG$RID
comp.classic.CG <- cbind(somaNSa.CG, somaIMa.CG, somaRSa.CG)
list(comp.classic.CG)
[[1]]
somaNSa.CG somaIMa.CG somaRSa.CG
[1,] 75.07177 14.336721 -151.408495
[2,] 278.07651 -81.585122 -7.491388
[3,] 303.39658 156.283615 184.319809
[4,] 195.00893 829.678725 -835.687651
[5,] 62.63385 100.948185 -173.582031
[6,] 57.74752 -44.646743 35.899225
[7,] 375.35887 -358.080704 10.721836
[8,] 644.10693 1030.081027 -2186.187960
[9,] 533.49823 9.353775 -477.852000
[10,] 313.16923 5400.889430 -5045.058663
[11,] 561.03935 -389.259817 728.220468
[12,] 7.99581 5.282296 -6.278107
[13,] 1944.75873 71.002037 1086.239236
[14,] 920.40660 1591.627806 277.965597
[15,] 4869.44842 3708.458091 -5163.906506
[16,] 14232.09795 2112.418728 -3019.516682
[17,] 2096.67912 1306.980103 -1205.659224
[18,] 1548.96612 -884.583904 -525.382217
[19,] 7772.81594 5712.428729 -1371.244672
[20,] 4317.29330 3214.831280 -2991.124579
[21,] 9105.45098 7967.573071 -8538.024048
[22,] 4979.61291 1077.899567 -2554.512478
[23,] 3140.13235 3980.398567 1029.469080
[24,] 30835.84206 -28365.887245 -6602.954813
[25,] 1919.43866 -931.860652 -1140.578009
Resultados para Dourados - Shift-share Arcelus
# DOURADOS - ARCELUS
results.DO <- shift.arcelus(dados.MS$DO2006, dados.MS$DO2016, dados.MS$MS2006, dados.MS$MS2016)
tabelado.arcelus <- cbind(dados.MS$industry, as.data.frame(results.DO))
list(tabelado.arcelus)
[[1]]
dados.MS$industry NSE NSD IME IMD
1 s1 0.0486350956 13.277715 0.009288016 2.535692
2 s2 0.7893507401 120.924649 -0.231588337 -35.478194
3 s3 1.4586701048 253.074621 0.751380387 130.362106
4 s4 0.1279701459 67.836417 0.544457678 288.614642
5 s5 0.0007776755 1.331857 0.001253395 2.146580
6 s6 0.0211612789 23.966269 -0.016360568 -18.529210
7 s7 0.3674516652 61.822183 -0.350537478 -58.976443
8 s8 0.7271458149 137.422686 1.162880058 219.771740
9 s9 0.5354113425 103.854333 0.009387317 1.820868
RGE RGD RIE RID VarTot conferencia
1 0.0457022021 12.477015 -0.151069379 -41.24298 -13 -13
2 0.7417496906 113.632403 -0.346174278 -53.03220 147 147
3 1.3707063843 237.813196 -4.703986528 -816.12669 -196 -196
4 0.1202530273 63.745606 -0.291829443 -154.69752 266 266
5 0.0007307785 1.251541 0.006575147 11.26068 16 16
6 0.0198851680 22.521006 -0.042329519 -47.94042 -20 -20
7 0.3452928402 58.094055 -0.155407159 -26.14660 35 35
8 0.6832959746 129.135541 -2.836494739 -536.06679 -50 -50
9 0.5031238681 97.591496 -1.222307337 -237.09231 -34 -34
[ reached 'max' / getOption("max.print") -- omitted 16 rows ]
somaNSa.DO <- results.DO$NSE + results.DO$NSD
somaIMa.DO <- results.DO$IME + results.DO$IMD
somaRSa.DO <- results.DO$RGE + results.DO$RGD + results.DO$RIE + results.DO$RID
comp.classic.DO <- cbind(somaNSa.DO, somaIMa.DO, somaRSa.DO)
list(comp.classic.DO)
[[1]]
somaNSa.DO somaIMa.DO somaRSa.DO
[1,] 13.326350 2.544980 -28.87133
[2,] 121.714000 -35.709782 60.99578
[3,] 254.533292 131.113487 -581.64678
[4,] 67.964387 289.159100 -91.12349
[5,] 1.332635 2.147834 12.51953
[6,] 23.987431 -18.545570 -25.44186
[7,] 62.189635 -59.326981 32.13735
[8,] 138.149832 220.934620 -409.08445
[9,] 104.389744 1.830256 -140.22000
[10,] 102.168686 1761.992296 -245.16098
[11,] 113.718190 -78.899852 88.18166
[12,] 0.000000 0.000000 NaN
[13,] 1710.214961 62.438977 -20.65394
[14,] 81.734949 141.341465 -197.07641
[15,] 320.720832 244.253489 423.02568
[16,] 3965.921862 588.647411 -253.56927
[17,] 469.087532 292.409108 117.50336
[18,] 306.061846 -174.785865 11.72402
[19,] 828.010568 608.524811 555.46462
[20,] 664.540670 494.843872 -32.38454
[21,] 1486.332275 1300.590277 8756.07745
[22,] 641.885875 138.944235 1157.16989
[23,] 821.791604 1041.694349 187.51405
[24,] 1971.855639 -1813.909755 378.05412
[25,] 785.366247 -381.284340 -367.08191
Resultados para Três Lagoas - Shift-share Arcelus
# TRES LAGOAS - ARCELUS
results.TL <- shift.arcelus(dados.MS$TL2006, dados.MS$TL2016, dados.MS$MS2006, dados.MS$MS2016)
tabelaTL.arcelus <- cbind(dados.MS$industry, as.data.frame(results.TL))
list(tabelaTL.arcelus)
[[1]]
dados.MS$industry NSE NSD IME IMD RGE
1 s1 0.01783287 4.868496 0.003405606 0.9297538 0.02858484
2 s2 0.78935074 120.924649 -0.231588337 -35.4781935 1.26527379
3 s3 0.18074272 31.358286 0.093102980 16.1530707 0.28971788
4 s4 0.05938484 31.479644 0.252656831 133.9322850 0.09518973
5 s5 0.01970111 33.740386 0.031752664 54.3800348 0.03157950
6 s6 0.01802627 20.415711 -0.013936780 -15.7841415 0.02889485
7 s7 0.11286015 18.988242 -0.107665083 -18.1141932 0.18090690
8 s8 0.28290882 53.466704 0.452438865 85.5060468 0.45348297
9 s9 0.51034953 98.993066 0.008947911 1.7356362 0.81805445
RGD RIE RID VarTot conferencia
1 7.803856 0.201995194 55.146076 69 69
2 193.833718 -1.836006772 -281.267203 -2 -2
3 50.265130 2.754548507 477.905400 579 579
4 50.459658 1.407884234 746.313297 964 964
5 54.083469 0.001583249 2.711493 145 145
6 32.724950 -0.018869435 -21.370635 16 16
7 30.436818 0.067966438 11.435065 43 43
8 85.703371 12.711961486 2402.423086 2641 2641
9 158.678931 -2.004117346 -388.740868 -130 -130
[ reached 'max' / getOption("max.print") -- omitted 16 rows ]
somaNSa.TL <- results.TL$NSE + results.TL$NSD
somaIMa.TL <- results.TL$IME + results.TL$IMD
somaRSa.TL <- results.TL$RGE + results.TL$RGD + results.TL$RIE + results.TL$RID
comp.classic.TL <- cbind(somaNSa.TL, somaIMa.TL, somaRSa.TL)
list(comp.classic.TL)
[[1]]
somaNSa.TL somaIMa.TL somaRSa.TL
[1,] 4.886328 0.9331594 63.18051
[2,] 121.714000 -35.7097819 -88.00422
[3,] 31.539029 16.2461737 531.21480
[4,] 31.539029 134.1849418 798.27603
[5,] 33.760088 54.4117875 56.82813
[6,] 20.433737 -15.7980783 11.36434
[7,] 19.101102 -18.2218583 42.12076
[8,] 53.749613 85.9584857 2501.29190
[9,] 99.503416 1.7445841 -231.24800
[10,] 156.362511 2696.6142970 -2367.97681
[11,] 752.938794 -522.4033178 -298.53548
[12,] 218.552146 144.3827656 -42.93491
[13,] 425.554788 15.5367637 -81.09155
[14,] 19.101102 33.0308859 261.86801
[15,] 118.160306 89.9881274 3859.85157
[16,] 1491.218603 221.3361737 388.44522
[17,] 139.038255 86.6705026 -44.70876
[18,] 69.297022 -39.5741580 59.27714
[19,] 643.662722 473.0431608 -61.70588
[20,] 365.586211 272.2302854 703.18350
[21,] 441.546408 386.3678228 388.08577
[22,] 276.299664 59.8085219 467.89181
[23,] 160.804627 203.8342455 266.36113
[24,] 827.566356 -761.2781874 1427.71183
[25,] 1219.361056 -591.9827562 806.62170