Para calcular os indicadores da aula de hoje vamos precisar de dados com alta desagregação. Quanto maior a desagregação, mais precisos serão os indicadores. No entanto, é importante lembrar do dilema das escalas.
Hoje, vamos trabalhar com dados da Relação Anual de Informações Sociais (RAIS). São dados gerados a partir de declarações de empregadores.
Apesar da base de dados contar apenas com o número de trabalhadores formais é a melhor referência que temos no Brasil para calcular indicadores de localização e especialização.
Atentando para as seguintes distorções:
Superestima a participação da indústria, uma vez que o emprego na industria é predominantemente formal.
Subestima setor de serviços e comércio, uma vez que há muita informalidade nesses setores.
Podem haver distorções em termos de declaração - registro de trabalhador na cede da empresa, enquanto trabalhador exerce suas funções em outro local.
Dados da RAIS podem ser obtidos por:
Site: RAIS
Senha: 12345678
Login: basico
Microdados:
É possível baixar os microdados diretamento para o R. Exige uma máquina com uma boa memória RAM ( > 8Gb). Também é preciso ter um ID de projeto no google cloud, uma vez que parte da manipulação dos dados é feita em nuvem.
Infelizmente, para trabalhar com dados do CAGED a melhor forma atualmente é recorrer aos microdados.
Supondo que todos os pacotes foram previamente instalados. Por enquanto vamos utilizar os mesmos da aula anterior.
setwd("C:/Métodos Regional/Material Aula 2") #Define o diretório
Dados <- read_excel("Dados_Aula2.xlsx") #Lê o arquivo em excel
Participações relativas $ (P_r) $ são os indicadores mais simples que podem ser construídos. Em nosso contexto é uma comparação de uma observação local em relação a uma referência global. Por exemplo:
\[ P_r = (E_i/E_r)*100 \]
Em que: \(E_i\) é o emprego na região \(i\), \(E_r\) é o total do emprego na região de referência \(r\).
Nossos dados:
Dados municipais de vínculos de emprego formal para 5569 municípios, classificados entre 25 subsetores do IBGE. O ideal é usar uma desagregação setorial maior, mas a título de exemplo vamos seguir com a classificação de subsetores.
Dados de 2022.
Vamos selecionar um dos estados da federação como região de referência para calcular:
Dados_UF <- Dados |> filter(Sigla=="SP") #Criando um novo dataframe para os dados do estado
Dados_UF$Empt_Mun <- rowSums(Dados_UF[,4:28]) #Criando uma coluna de total por município
Empt_UF <- sum(Dados_UF$Empt_Mun) #Criando um objeto para armazenar o total do número de empregos em SP
Dados_UF$PrMEs <- (Dados_UF$Empt_Mun/Empt_UF)*100 #Participação relativa
A participação do emprego de cada setor no total do emprego de cada município.
Um indicador básico da estrutura produtiva do município
# Calculando a participação relativa por linha
# A função `as.data.frame` me garante que o resultado da função `prop.table`, que calcula as proporções, retorne como resultado um objeto do tipo dataframe.
# A funçaõ `prop.table` (base do R), só aceita entrada de matrizes, por isso usei a função as.matrix para conversão das colunas numéricas em uma matriz.
Dados_Prop_l <- as.data.frame(prop.table(as.matrix(Dados_UF[,4:28]), 1)*100)
#Por último, usando a função `bind_cols` recoloquei as colunas que identificam os municípios
Dados_Prop_l <- bind_cols(Dados_UF[,1:3],Dados_Prop_l)
A participação de cada município no emprego de cada setor
Um indicador de concentração de atividade econômica
# Calculando a participação relativa por coluna
#Para calcular por coluna, basta mudar o segundo argumento da função `prop.table` de 1 para 2
Dados_Prop_c <- as.data.frame(prop.table(as.matrix(Dados_UF[,4:28]), 2)*100)
Dados_Prop_c <- bind_cols(Dados_UF[,1:3],Dados_Prop_c)
Dados_Prop_l |> filter(Município=="CAMPINAS")
## # A tibble: 1 × 28
## Código_6 Sigla Município `Extrativa Mineral` `Prod. Mineral Não Metálico`
## <dbl> <chr> <chr> <dbl> <dbl>
## 1 350950 SP CAMPINAS 0.0912 0.190
## # ℹ 23 more variables: `Indústria Metalúrgica` <dbl>,
## # `Indústria Mecânica` <dbl>, `Elétrico e Comunic` <dbl>,
## # `Material de Transporte` <dbl>, `Madeira e Mobiliário` <dbl>,
## # `Papel e Gráf` <dbl>, `Borracha, Fumo, Couros` <dbl>,
## # `Indústria Química` <dbl>, `Indústria Têxtil` <dbl>,
## # `Indústria Calçados` <dbl>, `Alimentos e Bebidas` <dbl>,
## # `Serviço Utilidade Pública` <dbl>, `Construção Civil` <dbl>, …
Vou transformar os dados para um formato de painel para facilitar a elaboração de gráficos.
#Usando a função `gather` consigo escolher que variáveis serão mantidas e quais serão agregadas em uma nova variável
Dados_Prop_c <- Dados_Prop_c |> gather(Setor, Prop, -c(Código_6, Sigla, Município))
Dados_Prop_l <- Dados_Prop_l |> gather(Setor, Prop, -c(Código_6, Sigla, Município))
Se você não escolheu o estado de São Paulo como exemplo, escolha outras cidades no filtro.
Dados_Prop_c |> filter(Município %in% c("SAO PAULO", "CAMPINAS", "GUARULHOS", "OSASCO") & Setor %in% c("Indústria Metalúrgica","Indústria Química", "Indústria Mecânica")) |>
ggplot() +
geom_col(aes(y=Prop, x=Setor, color=Município, fill=Município)) + #fill é um argumento de preenchimento de cor, color define apenas as cores das bordas
theme_minimal()+
scale_color_gdocs() + scale_fill_gdocs()
Dados_Prop_l |>
filter(Município %in% c("SAO PAULO", "CAMPINAS", "GUARULHOS", "OSASCO")) |>
ggplot(aes(x=Prop, y=reorder(Setor,-Prop), color=Município, fill=Município)) +
geom_col() +
facet_wrap(facets = "Município")+ #Desagrupa colunas em um conjunto de gráficos
theme_minimal()+
scale_color_gdocs() + scale_fill_gdocs()+
labs(x="", y="")
#Também usei a função `reorder` para ordenar os dados da menor proporção para a maior
rm(Dados_Prop_c, Dados_Prop_l)
O quociente locacional é um dos indicadores mais difundidos e utilizados em toda literatura econômica regional. É uma medida relativa que compara duas proporções.
Foi utilizado em outros contextos, usando dados de comércio internacional para estudar especialização produtiva de países (Balassa). Logo foi aplicado a contextos regionais (North, Hoover). Também recebe a denominação de vantagem comparativa revelada (RCA), índice de Hoover, índice de Balassa, entre outras.
É a base para o cálculo do índice de complexidade econômica proposto por Hidalgo e Hausmann.
Podemos definir o índice como:
\[ Q_i= (E_{ij}/E_{tj})/(E_{it}/E_{tt}) \]
- $E_{ij}$ é o número de vínculos de emprego formal do setor $i$ na região $j$.
- $E_{it}$ é o total do emprego do setor $i$ na região de referência $t$ (emprego total do setor).
- $E_{tj}$ é o emprego total da região $j$.
- $E_{tt}$ é o emprego total da região de referência.
Estamos comparando a proporção do emprego do setor \(i\) na região \(j\), com a proporção do setor \(i\) na região de referência. Caso o resultado seja maior que 1, dizemos que a região \(j\) acumulou vantagens no setor \(i\) ao longo do tempo.
Para o cálculo vamos utilizar as funções do pacote
EconGeo desenvolvido pelo professor Pierre-Alexandre
Balland (Utrech). Ver documentação e introdução ao pacote em:
Balland, P.A. (2017) Economic Geography in R: Introduction to the EconGeo Package, Papers in Evolutionary Economic Geography, 17 (09): 1-75
#install.packages("EconGeo")
library(EconGeo)
##
## Please cite EconGeo in publications as:
## Balland, P.A. (2017) Economic Geography in R: Introduction to the EconGeo Package, Papers in Evolutionary Economic Geography, 17 (09): 1-75
A função para calcular o quociente locacional é:
QL <- as.data.frame(location_quotient(Dados_UF[,4:28]))
QL <- bind_cols(Dados_UF[,1:3], QL)
Também posemos utilizar a versão binária do índice, que informa apenas se a região possui ou não uma especialização em determinado setor.
QL_b <- as.data.frame(location_quotient(Dados_UF[,4:28], binary = T))
QL_b <- bind_cols(Dados_UF[,1:3], QL_b)
Finalmente, vamos nos dedicar a importar os insumos necessários para criar um mapa coroplético. O primeiro deles é a geometria
“Um shapefile é um formato de armazenamento de dados de vetor desenvolvido pela empresa Esri para armazenar a posição, a forma e os atributos de feições geográficas.”
Para nossos propósitos, vamos utilizar o pacote
geobrdesenvolvido para carregar shapes diretamente no
ambiente R.
Uf <- read_municipality(showProgress = F, year = 2010, code_muni = "SP") #Há vários argumentos possíveis, mas vamos utilizar o padrão
## Using year/date 2010
plot(st_geometry(Uf)) #Geometria vazia
Assim como fizemos anteriormente, podemos unir nosso dataframe com o objeto “Uf” a partir de uma coluna comum como referência.
Primeiro precisamos selecionar os dados de que semestre queremos plotar.
#Precisamos criar no shapefile uma coluna de código com 6 dígitos
Uf <- Uf |> mutate(Código_6 =substr(code_muni, 1, 6)) #Agora temos uma coluna de referência para fazer a união do dataframe
Uf$Código_6 <- as.numeric(Uf$Código_6) # É importante que as variáveis estejam identificadas como do mesmo tipo. Aqui estou convertendo a variável código
Uf_QL <- Uf |> left_join(QL, by="Código_6")
Uf_QL_b <- Uf |> left_join(QL_b, by="Código_6")
A partir da biblioteca do “ggplot2” podemos criar um polígono a partir da função “geom_sf”, no argumento “aes” precisamos indicar qual variável deve preencher (“fill”) o nosso mapa.
Escolha um setor para mostrar no argumento “fill”
# Quando o nome da variável possui mais de uma palavra usar ``
# Para plotar a geometria dos mapas usar a função geom_sf
Uf_QL|> ggplot()+geom_sf(aes(fill=`Indústria Metalúrgica`),color=alpha("white",3/10))+ scale_fill_viridis_c() + theme_minimal()
# as.factor para converter os números em variável categórica e scale_fill_viridis_d para variável discreta
Uf_QL_b|> ggplot()+geom_sf(aes(fill=as.factor(`Indústria Têxtil`)),color=alpha("white",3/10))+ scale_fill_viridis_d() + theme_minimal() +
labs(fill="QL", title = "Quociente locacional da Indústria Calçadista",
subtitle = "Dados da RAIS 2022")
rm(QL, QL_b,Uf_QL,Uf_QL_b)
O Índice de Herfindahl-Hirschman (HHI) é uma medida de concentração utilizada para avaliar a distribuição de mercado entre as empresas em um setor, mas também pode ser aplicado em outros contextos para avaliar a concentração de valores em uma distribuição.
A fórmula do Índice de Herfindahl-Hirschman aplicada ao emprego formal é dada por:
\[ \text{HHI}_j = \sum_{i=1}^{n} \left(\frac{E_{ij}}{E_{tj}}\right)^2 \]
PS. Há formulações alternativas para o índice. Por exemplo: Piacenti e Lima (2012) e Crocco et al (2006) calculam o HHI como a diferença entre a participação relativa de um setor na região e a participação em uma região de referência. Também possui uma interpretação distinta.
O HHI para uma determinada região \(j\) é a soma dos quadrados das participações de cada setor no emprego total da região. O índice varia de 0 a 1: - Um HHI próximo de 0 indica uma distribuição de emprego mais diversificada entre os setores na região \(j\). - Um HHI próximo de 1 indica que o emprego está concentrado em poucos setores, sugerindo menor diversificação.
HHI_t <- as.data.frame(herfindahl(Dados_UF[,4:28])) # Computa o índice para todos os setores
HHI_i <- as.data.frame(herfindahl(Dados_UF[,6:17])) # Calculando somente para os setores da indústria de transformação
HHI_t <- bind_cols(Dados_UF[,1:3], HHI_t)
HHI_i <- bind_cols(Dados_UF[,1:3], HHI_i)
colnames(HHI_i)[4] <- "HHI"
colnames(HHI_t)[4] <- "HHI"
Unindo dados com o Shape
Uf_HHI_t <- Uf |> left_join(HHI_t, by="Código_6")
Uf_HHI_i <- Uf |> left_join(HHI_i, by="Código_6")
rm(HHI_i,HHI_t)
Mapas
Uf_HHI_t |> ggplot() + geom_sf(aes(fill=HHI), color=alpha("white",3/10)) + scale_fill_viridis_c(direction = -1) +
labs(title = "Índice Hirschman-Herfindahl - Todos os Setores",
subtitle = "Calculado com base em dados da RAIS 2022")
Uf_HHI_i |> ggplot() + geom_sf(aes(fill=HHI), color=alpha("white",3/10)) + scale_fill_viridis_c(direction = -1) +
labs(title = "Índice Hirschman-Herfindahl - Indústrias de Transformação",
subtitle = "Calculado com base em dados da RAIS 2022")
rm(Uf_HHI_i,Uf_HHI_t)
# Curvas de Lorenz
locational_gini_curve(Dados_UF[,6:17])
Mede quão dessemelhantes são as estruturas de produção de cada região. Também é conhecido como índice de dessemelhança de Krugman.
É dado pela diferença absoluta entre a proporção de empregos no setor \(i\) na região \(j\) e a proporção desse mesmo setor \(i\) em uma região de referência \(t\), descontadas as proporções da região \(j\).
\[ K_i=\sum\|(E_{ij}/E_{tj})-[(E_{it}-E_{ij})/(E_{tt}-E_{tj})]|| \]
Considera-se que uma região é especializada se sua estrutura industrial diferir da estrutura industrial média da região de referência.
Varia de 0 a 2, sendo valores próximos a 0 uma estrutura de produção muito semelhante a estrutura de produção da região de referência, quanto mais próximo de 2, maior a especialização.
KI <- as.data.frame(krugman_index(Dados_UF[,6:17])) # Para a indústria de transformação
KI <- bind_cols(Dados_UF[,1:3], KI)
colnames(KI)[4] <- "KI"
Uf_KI <- Uf |> left_join(KI, by="Código_6")
# Transformando variável contínua em categórica
x <- quantile(Uf_KI$KI, probs = seq(0, 1, length.out = 4), na.rm = T)# calculando quartis
Uf_KI <- Uf_KI |> mutate(KI_c = cut(KI, breaks = x, include.lowest = T)) #criando uma nova variável
Uf_KI |> ggplot() +
geom_sf(aes(fill=KI), color=alpha("white",3/10)) +
scale_fill_viridis_c(option = "inferno") +
labs(title = "Índice Krugman - Indústrias de Transformação",
subtitle = "Calculado com base em dados da RAIS 2022")
Uf_KI |> ggplot() +
geom_sf(aes(fill=KI_c), color=alpha("white",3/10)) +
scale_fill_viridis_d(option = "cividis") +
theme(legend.position = "bottom")+
labs(title = "Índice Krugman - Indústrias de Transformação",
subtitle = "Calculado com base em dados da RAIS 2022",
fill="Quartis")