Analisando RAIS e CAGED com R
Dando sequência ao post anterior, vamos analisar outra base de dados. Ou outras bases de dados?
Dessa vez, falaremos dos microdados do RAIS e CAGED. Vamos?
Bases do Ministério do Trabalho
O Ministério do Trabalho (MTb) permite que o usuário acesse os microdados de duas bases muito interessantes: RAIS e CAGED. Bom, além de serem mais dois elementos na “sopa de letrinhas” de microdados brasileiros, o que são exatamente esses dados?
Vejamos!
RAIS
O Relatório Anual de Informações Sociais (RAIS) é um relatório enviado anualmente por todas pessoas jurídicas para o MTb. Nele, constam o número de empregados da pessoa jurídica no dia 31/12, além da informação sobre admissões e demissões. Isso permite que o ministério elabore um “censo” do emprego formal no país.
O RAIS se divide em duas tabelas principais: vínculos e estabelecimentos.
Vínculos
Esta tabela traz informações sobre surprise, surprise relações trabalhistas, i.e., trabalhadores. Contém informações como data de admissão, data de demissão, aposentadoria, tipo de contrato de trabalho, cor/raça do empregado, rendimento, etc. Pode ser muito relevante para analisar questões sobre distribuição funcional de renda, por exemplo, e é uma excelente fonte de dados sobre o mercado de trabalho, especialmente quando aliada à PNADC.
Estabelecimentos
Por sua vez, esta tabela contém informações como a natureza jurídica do estabelecimento, opção pelo Simples, tamanho do estabelecimento, etc. Este tipo de informações pode revelar muito sobre a dinâmica econômica, especialmente se comparamos os setores econômicos do país.
Cuidado ao usar os dados anuais!
Como o número de estabelecimentos que faz a declaração do RAIS varia anualmente, pode ser difícil analisar as variações na dinâmica do emprego.
Uma ideia é usar uma amostra longitudinal de empresas que declaram os dados. Assim, as variações podem ser avaliadas sem tanta influência do processo de envio do relatório.
CAGED
O Cadastro Geral de Empregados e Desempregados (CAGED) é um banco de dados composto por relatórios mensais enviados pelas empresas, informando o Governo Federal a respeito das admissões e demissões realizadas. Embora tenha sido criado para ajudar no processo de análise do seguro-desemprego, esse conjunto de dados acabou se tornando uma grande fonte nos estudos empíricos sobre mercados de trabalho no Brasil.
De fato, com os insumos providenciados por essa base de dados, é possível calcular o índice mensal de empregos formais e taxa de rotatividade, por exemplo.
Eis algumas variáveis nessa tabela: tipo de movimentação (e.g., demissão com/sem justa causa, aposentadoria), tipo de estabelecimento, cor/raça do trabalhador, etc.
Se você ainda precisa de mais informações a respeito, sugiro esses dois links: Introdução às Bases de Dados RAIS e CAGED e essa página do MEC(?)1.
Na prática
Esse procedimento pode ser muito lento, dependendo da sua conexão com a internet e seu computador.
Para facilitar o processo de baixar e montar a base de dados, escrevi esse script com três funções para facilitar esse procedimento:
catalog_mtps
: lista os dados do site em um catálogo;datavault_mtps
: baixa os arquivos de dados brutos para um diretório local específico;build_mtps
: constrói a base de dados;sqlite_mtps
: constrói a base de dados em SQLite.
A função datavault_mtps
é opcional, mas ajuda bastante se você não queira repetir os downloads toda vez que precisar montar a base de novo. O bloco de código abaixo mostra como fazer essa tarefa:
# instala libraries
libs <- c("DBI", "RSQLite" , "downloader" , "archive" , "dplyr" , "dbplyr" )
libs.novas <- libs[ !( libs %in% installed.packages()[ , "Package" ] ) ]
if( length( libs.novas ) ) install.packages( libs.novas )
# carrega libraries
library(DBI)
library(RSQLite)
# define diretórios
output_dir <- file.path( tempdir() , "MTPS" )
datavault_dir <- file.path( tempdir() , "MTPS_DV" )
# carrega funções
downloader::source_url( "https://raw.githubusercontent.com/guilhermejacob/guilhermejacob.github.io/master/scripts/mtps.R" , prompt = FALSE )
# cria catálogo de dados
catalog <- catalog_mtps( output_dir = output_dir )
# cria datavault
# esse passo é opcional!
catalog <- datavault_mtps( catalog = catalog, datavault_dir = datavault_dir )
# limita apenas para bases de 2016
catalog <- subset( catalog , year == 2016 )
# constrói base de dados
build_mtps( catalog = catalog )
# base de dados em sqlite
sqlite_mtps( catalog = catalog )
Caso você já conheça linguagem SQL, pode conectar direto à base de dados e enviar as queries.
Caso contrário, não se desespere! Se você conhece um pouco do dplyr
, já é o suficiente para analisar utilizando o seu “pacote irmão” dbplyr
. Vejamos:
# carrega os pacotes necessários
library( DBI )
library( RSQLite )
library( dplyr )
library( dbplyr )
# conecta com a base de dados
con <- dbConnect( SQLite() , file.path( output_dir , "mtps.sqlite" ) )
# lista tabelas na base
dbListTables( con )
# cria referência para tabela de vínculos do caged
caged <- tbl( con , "caged_2016" )
# dá uma olhada em como a tabela parece
caged
# limita para registros de 2016
caged <- caged %>% filter( ano_declarado == 2016 )
# conta o número de registros na tabela
caged %>%
summarise( nobs = n() )
# # Source: lazy query [?? x 1]
# # Database: sqlite 3.19.3
# nobs
# <int>
# 1 29715447
# número de registros
# por tipo de movimentação
caged %>%
group_by( admitidos_desligados ) %>%
summarise( nobs = n() )
# # Source: lazy query [?? x 2]
# # Database: sqlite 3.19.3
# admitidos_desligados nobs
# <dbl> <int>
# 1 1 14172042
# 2 2 15543405
# Disconecta da base de dados
dbDisconnect( con )
Mas será que esses números fazem sentido? Vamos comparar com os dados do site:
Acertamos!
Próximos passos
Acho que isso dá uma ideia das possibilidades que essas bases de dados nos dão.
Porém, existem outras bases de dados interessantes. O que vocês acham de analisar microdados de migração? Acho que pode virar assunto de um post futuro.
…
“Ah, mas hoje não tem vídeo?”
Tem, sim!
A trilha sonora de hoje é Casuarina tocando Caymmi:
Também não sei o motivo desta informação estar no site do MEC e não do MTb, mas segue o baile.↩︎