“Mercado de Trabalho - PNAD Continínua (SIDRAR)”
Pacote sidrar
O pacote sidrar que coleta dados do SIDRA, base de dados do IBGE, diretamente para o R. Pacote bem legal para quem precisa trabalhar com as pesquisas da instituição, tais como a PNAD Contínua, PME, PMC, Contas Nacionais, etc. Abaixo, coloco um exemplo de capturar dados da PNAD Contínua.
PNAD Contínua
A PNAD Contínua Visa acompanhar as flutuações trimestrais e a evolução, no curto, médio e longo prazos, da força de trabalho, e outras informações necessárias para o estudo do desenvolvimento socioeconômico do País. Para atender a tais objetivos, a pesquisa foi planejada para produzir indicadores trimestrais sobre a força de trabalho e indicadores anuais sobre temas suplementares permanentes (como trabalho e outras formas de trabalho, cuidados de pessoas e afazeres domésticos, tecnologia da informação e da comunicação etc.), investigados em um trimestre específico ou aplicados em uma parte da amostra a cada trimestre e acumulados para gerar resultados anuais, sendo produzidos, também, com periodicidade variável, indicadores sobre outros temas suplementares. Tem como unidade de investigação o domicílio.
- Periodicidade de divulgação das informações:
Mensal - Conjunto restrito de indicadores relacionados à força de trabalho e somente para o nível geográfico de Brasil; Trimestral - Conjunto de indicadores relacionados à força de trabalho para todos os níveis de divulgação da pesquisa; Anual - Demais temas permanentes da pesquisa e indicadores complementares à força de trabalho; e Variável - Outros temas ou tópicos dos temas permanentes a serem pesquisados com maior periodicidade ou ocasionalmente.
Os indicadores mensais utilizam as informações dos últimos três meses consecutivos da pesquisa, existindo, entre um trimestre móvel e o seguinte, repetição das informações de dois meses. Assim, os indicadores da PNAD Contínua produzidos mensalmente não refletem a situação de cada mês, mas, sim, a situação do trimestre móvel que finaliza a cada mês.
Os resultados anuais sobre outros temas ou tópicos são obtidos acumulando-se informações de determinada visita ao longo do ano, ou são concentrados em determinado trimestre.
Fonte: https://www.ibge.gov.br/estatisticas/multidominio/condicoes-de-vida-desigualdade-e-pobreza/17270-pnad-continua.html?=&t=o-que-e
names <- c('abril/20', 'abril/19', 'Variação (%)')
ultima <- as.Date('2020-04-01')
times = seq(as.Date('2019-04-01'), ultima,
by='month')Pacotes
library(forecast)
library(stargazer)
library(ggplot2)
library(sidrar)
library(scales)
library(gridExtra)
library(reshape2)
library(xts)
library(plyr)Importação de Dados
- obs: O codigo se apresenta na forma de comentario devido as mensagens apresentadas quando gerado o pdf
### Coletar dados no SIDRA IBGE
#populacao = get_sidra(api='/t/6022/n1/all/v/606/p/all')$Valor
#t1 = get_sidra(api='/t/6318/n1/all/v/1641/p/all/c629/all')
#po = get_sidra(api='/t/6320/n1/all/v/4090/p/all/c11913/allxt')
#po2 = get_sidra(api='/t/6323/n1/all/v/4090/p/all/c693/allxt')
#renda = get_sidra(api='/t/6390/n1/all/v/5929,5933/p/all')
#massa = get_sidra(api='/t/6392/n1/all/v/6288,6293/p/all')
### Obter séries individuais (pode ser mais rápido)
#pia = t1$Valor[t1$`Condição em relação à força de trabalho e condição de ocupação (Código)`==32385]
#pea = t1$Valor[t1$`Condição em relação à força de trabalho e condição de ocupação (Código)`==32386]
#ocupada = t1$Valor[t1$`Condição em relação à força de trabalho e condição de ocupação (Código)`==32387]
#desocupada = t1$Valor[t1$`Condição em relação à força de trabalho e condição de ocupação (Código)`==32446]
#pnea = t1$Valor[t1$`Condição em relação à força de trabalho e condição de ocupação (Código)`==32447]
#carteira = po$Valor[po$`Posição na ocupação e categoria do emprego no trabalho principal (Código)`=='31722']
#scarteira = po$Valor[po$`Posição na ocupação e categoria do emprego no trabalho principal (Código)`=='31723']
#domestico = po$Valor[po$`Posição na ocupação e categoria do emprego no trabalho principal (Código)`=='31724']
#publico = po$Valor[po$`Posição na ocupação e categoria do emprego no trabalho principal (Código)`=='31727']#empregador = po$Valor[po$`Posição na ocupação e categoria do emprego no trabalho principal (Código)`=='96170']
#cpropria = po$Valor[po$`Posição na ocupação e categoria do emprego no trabalho principal (Código)`=='96171']
#tfa = po$Valor[po$`Posição na ocupação e categoria do emprego no trabalho principal (Código)`=='31731']
#agro = po2$Valor[po2$`Grupamento de atividades no trabalho principal - PNADC (Código)`==33357]
#ind = po2$Valor[po2$`Grupamento de atividades no trabalho principal - PNADC (Código)`==33358]
#const = po2$Valor[po2$`Grupamento de atividades no trabalho principal - PNADC (Código)`==33360]
#comercio = po2$Valor[po2$`Grupamento de atividades no trabalho principal - PNADC (Código)`==33361]
#transporte = po2$Valor[po2$`Grupamento de atividades no trabalho principal - PNADC (Código)`==33362]
#alojamento = po2$Valor[po2$`Grupamento de atividades no trabalho principal - PNADC (Código)`==33363]
#informacao = po2$Valor[po2$`Grupamento de atividades no trabalho principal - PNADC (Código)`==33364]
#admpub = po2$Valor[po2$`Grupamento de atividades no trabalho principal - PNADC (Código)`==39325]
#outserv = po2$Valor[po2$`Grupamento de atividades no trabalho principal - PNADC (Código)`==33367]
#servdom = po2$Valor[po2$`Grupamento de atividades no trabalho principal - PNADC (Código)`==33368]
#rendanominal = renda$Valor[renda$`Variável (Código)`==5929]
#rendareal = renda$Valor[renda$`Variável (Código)`==5933]
#massanominal = massa$Valor[massa$`Variável (Código)`==6288]
#massareal = massa$Valor[massa$`Variável (Código)`==6293]library(readxl)
dados <- read_excel("E:/dados.xlsx")
data = dados
pnadcm = ts(data, start=c(2012,03), freq=12)
colnames(pnadcm) <- c('População', 'PIA', 'PEA', 'PO', "PD",
'PNEA', 'Carteira', 'Sem Carteira',
'Doméstico','Público', 'Empregador',
'Conta Própria','TFA', 'Agropecuária',
'Indústria', 'Construção', 'Comércio',
'Transporte', 'Alojamento', 'Informação',
'Administração Pública','Outros Serviços',
'Serviços Domésticos', 'Renda Nominal',
'Renda Real', 'Massa Nominal', 'Massa Real')Análise dos dados
interanual <- (pnadcm/lag(pnadcm,-12)-1)*100
colnames(interanual) <- colnames(pnadcm)
dinamica <- pnadcm - lag(pnadcm,-1)
colnames(dinamica) <- colnames(pnadcm)Populacao Ocupada - PO
desemprego = data.frame(time=times, pd=tail(pnadcm[,5],
length(times)))
ggplot(desemprego, aes(x=time, y=pd/1000))+
geom_line(size=.8, colour='purple')+
scale_x_date(breaks = date_breaks("1 months"),
labels = date_format("%b/%Y"))+
theme(axis.text.x=element_text(angle=45, hjust=1))+
geom_point(size=9, shape=21, colour="pink", fill="pink")+
geom_text(aes(label=round(pd/1000,3)), size=2.1,
hjust=0.5, vjust=0.5, shape=21, colour="black")+
xlab('')+ylab('milhoes de pessoas')+
labs(title='Populacao Desocupada na PNAD Continua')## Warning: Ignoring unknown parameters: shape
desemprego = data.frame(time=times, pd=tail(interanual[,5],
length(times)))
ggplot(desemprego, aes(x=time, y=pd))+
geom_bar(stat='identity', colour='purple', fill='purple')+
scale_x_date(breaks = date_breaks("1 months"),
labels = date_format("%b/%Y"))+
theme(axis.text.x=element_text(angle=45, hjust=1))+
geom_point(size=9, shape=21, colour="pink", fill="pink")+
geom_text(aes(label=round(pd,2)), size=2.1,
hjust=0.5, vjust=0.5, shape=21, colour="black")+
xlab('')+ylab('%')+
labs(title='Variacao interanual da Populacao Desocupada')## Warning: Ignoring unknown parameters: shape
Populacao Economicamente Ativa - PEA
desemprego = data.frame(time=times, pea=tail(pnadcm[,3],
length(times)))
ggplot(desemprego, aes(x=time, y=pea/1000))+
geom_line(size=.8, colour='purple')+
scale_x_date(breaks = date_breaks("1 months"),
labels = date_format("%b/%Y"))+
theme(axis.text.x=element_text(angle=45, hjust=1))+
geom_point(size=9, shape=21, colour="pink", fill="pink")+
geom_text(aes(label=round(pea/1000,3)), size=2.1,
hjust=0.5, vjust=0.5, shape=21, colour="black")+
xlab('')+ylab('milhoes de pessoas')+
labs(title='Populacao Economicamente Ativa na PNAD Continua')## Warning: Ignoring unknown parameters: shape
desemprego = data.frame(time=times, pea=tail(interanual[,3],
length(times)))
ggplot(desemprego, aes(x=time, y=pea))+
geom_bar(stat='identity', colour='purple', fill='purple')+
scale_x_date(breaks = date_breaks("1 months"),
labels = date_format("%b/%Y"))+
theme(axis.text.x=element_text(angle=45, hjust=1))+
geom_point(size=9, shape=21, colour="pink", fill="pink")+
geom_text(aes(label=round(pea,2)), size=2.1,
hjust=0.5, vjust=0.5, shape=21, colour="black")+
xlab('')+ylab('%')+
labs(title='Variacao interanual da PEA - Populacao Economicamente Ativa')## Warning: Ignoring unknown parameters: shape
df3 = data.frame(time=times,
po=tail(pnadcm[,4],length(times)),
carteira=tail(pnadcm[,7],length(times)),
scarteira=tail(pnadcm[,8],length(times)),
empregador=tail(pnadcm[,11],length(times)),
cpropria=tail(pnadcm[,12],length(times)))
g1 = ggplot(df3, aes(time, carteira))+
geom_line(colour='darkblue')+
scale_x_date(breaks = date_breaks("2 months"),
labels = date_format("%b/%Y"))+
theme(axis.text.x=element_text(angle=45, hjust=1))+
labs(x='', y='',
title='Ocupado com Carteira')
g2 = ggplot(df3, aes(time, scarteira))+
geom_line(colour='red')+
scale_x_date(breaks = date_breaks("2 months"),
labels = date_format("%b/%Y"))+
theme(axis.text.x=element_text(angle=45, hjust=1))+
labs(x='', y='',
title='Ocupado sem Carteira')
g3 = ggplot(df3, aes(time, empregador))+
geom_line(colour='black')+
scale_x_date(breaks = date_breaks("2 months"),
labels = date_format("%b/%Y"))+
theme(axis.text.x=element_text(angle=45, hjust=1))+
labs(x='', y='',
title='Empregador')
g4 = ggplot(df3, aes(time, cpropria))+
geom_line(colour='darkgreen')+
scale_x_date(breaks = date_breaks("2 months"),
labels = date_format("%b/%Y"))+
theme(axis.text.x=element_text(angle=45, hjust=1))+
labs(x='', y='',
title='Conta Propria')
grid.arrange(g1, g2, g3, g4, ncol=2, nrow=2)PEA vs. PO
df4 = data.frame(time=times,
dpea=tail(dinamica[,3], length(times)),
dpo=tail(dinamica[,4], length(times)),
dpd=tail(dinamica[,5], length(times)))
g1 = ggplot(df4, aes(x=time, y=dpea))+
geom_bar(stat='identity', colour='pink', fill='pink')+
scale_x_date(breaks = date_breaks("1 month"),
labels = date_format("%m/%Y"))+
theme(axis.text.x=element_text(angle=45, hjust=1))+
xlab('')+ylab('Variacao')+
geom_point(size=7, shape=21, colour='pink', fill="pink")+
geom_text(aes(label=round(dpea,0)), vjust=0.5,
colour='black', size=3)+
labs(title='Variacao da PEA')
g2 = ggplot(df4, aes(x=time, y=dpo))+
geom_bar(stat='identity', colour='purple', fill='purple')+
scale_x_date(breaks = date_breaks("1 month"),
labels = date_format("%m/%Y"))+
theme(axis.text.x=element_text(angle=45, hjust=1))+
xlab('')+ylab('Variacao')+
geom_point(size=7, shape=21, colour='purple', fill="purple")+
geom_text(aes(label=round(dpo,0)), vjust=0.5,
colour='white', size=3)+
labs(title='Variacao da PO')
grid.arrange(g1, g2,
top = "PEA vs. PO",
layout_matrix = matrix(c(1,1,2,2),
ncol=2, byrow=TRUE))## Don't know how to automatically pick scale for object of type ts. Defaulting to continuous.
## Don't know how to automatically pick scale for object of type ts. Defaulting to continuous.
## Don't know how to automatically pick scale for object of type ts. Defaulting to continuous.
## Don't know how to automatically pick scale for object of type ts. Defaulting to continuous.