This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
Vamos usar o pacote PNADcIBGE, cuja documentação está disponível no CRAN.
Primeiro vamos definir o diretório de trabalho com o comando a seguir:
getwd()
## [1] "/home/dinilsonjr/Desktop/WF/R"
Em seguida precisamos instalar o programas listados abaixo e em seguida acioná-los para nossa seção de trabalho. O comando para instalar um programa no R é install.packages(‘nome do programa’). Os acionamos conforme abaixo:
library(PNADcIBGE)
library(convey)
library(survey)
## Loading required package: grid
## Loading required package: Matrix
## Loading required package: survival
##
## Attaching package: 'survey'
## The following object is masked from 'package:graphics':
##
## dotchart
library(knitr)
library(ggplot2)
São muitos os temas e variáveis trabalhadas na PNADc. Como estamos aqui interessados apenas em calcular a taxa de desemprego (ou de desocupação), não precisaremos carregar toda a pesquisa para nossa área de trabalho.
Vamos então selecionar as seguintes variáveis para nosso estudo:
UF (ex.” Pernambuco”); Capital (ex.”Recife”); RM_RIDE (ex.”Município de Recife (PE)“);
VD4001(condição na força de trabalho); VD4002(condição de ocupação); VD4004A (subocupação habitual).
variaveis_selecionadas <- c("UF", "Capital", "RM_RIDE", "VD4001", "VD4002", "VD4004A")
Agora vamos usar a função get_pnadc do pacote PNADcIBGE para fazer a raspagem dos dados diretamente do site do IBGE.
PNADcBR <- get_pnadc(year = 2021, quarter = 3, vars = variaveis_selecionadas)
Note que o arquivo não é trazido como um data frame, mas sim como um objeto de design de amostragem complexa.
class(PNADcBR)
## [1] "svyrep.design"
Usaremos agora a função svyratio do pacote survey para calcular a taxa de desemprego do Brasil.
txdesocup <- svyratio(~VD4002 == "Pessoas desocupadas",~VD4001 == "Pessoas na força de trabalho", PNADcBR, na.rm = T)
txdesocup
## Ratio estimator: svyratio.svyrep.design(~VD4002 == "Pessoas desocupadas", ~VD4001 ==
## "Pessoas na força de trabalho", PNADcBR, na.rm = T)
## Ratios=
## VD4001 == "Pessoas na força de trabalho"
## VD4002 == "Pessoas desocupadas" 0.1264062
## SEs=
## [,1]
## [1,] 0.001427623
Taxa de desemprego calculada de 12,64%, valor confirmado no site da Agência de Notícias do IBGE.
Primeiro vamos definir, usando a função subset, uma PNADc só com dados de Pernambuco.
PNADcPE <- subset(PNADcBR, UF=="Pernambuco")
Agora vamos calcular a taxa de desemprego de Pernambuco como fizemos para o Brasil.
txdesocupPE <- svyratio(~VD4002 == "Pessoas desocupadas",~VD4001 == "Pessoas na força de trabalho", PNADcPE, na.rm = T)
txdesocupPE
## Ratio estimator: svyratio.svyrep.design(~VD4002 == "Pessoas desocupadas", ~VD4001 ==
## "Pessoas na força de trabalho", PNADcPE, na.rm = T)
## Ratios=
## VD4001 == "Pessoas na força de trabalho"
## VD4002 == "Pessoas desocupadas" 0.1928086
## SEs=
## [,1]
## [1,] 0.007008382
Taxa de desemprego em Pernambuco é 19,28% [confirmado].
Primeiro definimos uma “PNADc da Bahia”.
PNADcBA <- subset(PNADcBR, UF=="Bahia")
E agora calculando a taxa de desemprego da Bahia.
txdesocupBA <- svyratio(~VD4002 == "Pessoas desocupadas",~VD4001 == "Pessoas na força de trabalho", PNADcBA, na.rm = T)
txdesocupBA
## Ratio estimator: svyratio.svyrep.design(~VD4002 == "Pessoas desocupadas", ~VD4001 ==
## "Pessoas na força de trabalho", PNADcBA, na.rm = T)
## Ratios=
## VD4001 == "Pessoas na força de trabalho"
## VD4002 == "Pessoas desocupadas" 0.1873294
## SEs=
## [,1]
## [1,] 0.00741979
Taxa de desemprego na Bahia é 18,73%.
Primeiro definindo uma “PNADc da RMR”.
PNADcRMR <- subset(PNADcPE, RM_RIDE=="Região Metropolitana de Recife (PE)")
Calculando a taxa de desemprego na RMR.
txdesocupRMR <- svyratio(~VD4002 == "Pessoas desocupadas",~VD4001 == "Pessoas na força de trabalho", PNADcRMR, na.rm = T)
txdesocupRMR
## Ratio estimator: svyratio.svyrep.design(~VD4002 == "Pessoas desocupadas", ~VD4001 ==
## "Pessoas na força de trabalho", PNADcRMR, na.rm = T)
## Ratios=
## VD4001 == "Pessoas na força de trabalho"
## VD4002 == "Pessoas desocupadas" 0.2021286
## SEs=
## [,1]
## [1,] 0.01101461
Taxa de desemprego na RMR é de 20,21% [não confirmado].
Para calcular a taxa de desemprego para todas as UF de uma vez vamos usar a função svyby. Mas faremos a conta de maneira diferente. Primeiro encontramos o número de pessoas desocupadas em todos os estados, em seguida encontramos a força de trabalho nos estados. Dividimos o primeiro número pelo segundo e achamos a taxa de desemprego.
Para encontrar o total de desempregados por estados o comando é o seguinte:
desocupUF <- svyby(~VD4002 == "Pessoas desocupadas",
~UF , PNADcBR, svytotal, na.rm = T)
O objeto desocupUF é um survey design. Vamos transoformá-lo em data frame.
desuf<- as.data.frame(desocupUF)
class(desuf)
## [1] "data.frame"
A coluna que nos interessa é a terceira.
desuf[,3]
## [1] 69582.76 52128.62 264329.19 27624.58 474993.24 71044.72
## [7] 81774.61 409385.80 172957.50 491681.81 221303.81 230797.20
## [13] 806016.25 231442.82 187643.43 1336358.60 1209678.39 214324.24
## [19] 1422033.77 3426209.83 483566.78 206852.67 512211.93 106746.23
## [25] 120124.48 375263.34 247313.21
Encontrando a força de trabalho por UF e os demais passos acima.
pessoasftUF <- svyby(~VD4001 == "Pessoas na força de trabalho",
~UF , PNADcBR, svytotal, na.rm = T)
pftuf<-as.data.frame(pessoasftUF)
pftuf[,3]
## [1] 896091.0 377840.8 1965659.3 261332.0 4004416.7 406486.4
## [7] 757710.0 2726289.3 1450570.8 3952118.1 1502339.8 1597157.9
## [13] 4180396.6 1355168.1 1101608.6 7133735.4 11313965.2 2152899.6
## [19] 8941135.3 25613778.7 6072176.7 3923908.9 6085603.6 1404486.4
## [25] 1807407.2 3744588.3 1700964.6
Para encontrar a taxa de desemprego por UF dividimos uma coluna por outra.
txdesuf=desuf[,3]/pftuf[,3]*100 ### Calculando a taxa de desocupação por UF.
txdesuf
## [1] 7.765145 13.796451 13.447355 10.570683 11.861734 17.477761 10.792336
## [8] 15.016227 11.923409 12.440970 14.730609 14.450493 19.280856 17.078533
## [15] 17.033584 18.732943 10.691905 9.955143 15.904398 13.376433 7.963648
## [22] 5.271597 8.416781 7.600375 6.646232 10.021485 14.539586
Vamos montar um data frame com o valores de desemprego que calculamos e o nome das UFs.
Coluna com o nome dos estados:
UF<- desuf[,1] ### Coluna com os nomes dos estados.
Juntando as duas colunas e definindo o data frame final.
txu = data.frame(UF, txdesuf)
Vamos simplificar o nome da coluna da taxa de desemprego da tabela.
colnames(txu)[2] <- "desemprego"
Aqui apresentamos a tabela em RMarkdown a função kable do pacote knitr.
kable(txu, caption = "Taxa de desemprego por UF(%)")
UF | desemprego |
---|---|
Rondônia | 7.765145 |
Acre | 13.796451 |
Amazonas | 13.447355 |
Roraima | 10.570683 |
Pará | 11.861733 |
Amapá | 17.477761 |
Tocantins | 10.792336 |
Maranhão | 15.016227 |
Piauí | 11.923409 |
Ceará | 12.440970 |
Rio Grande do Norte | 14.730609 |
Paraíba | 14.450494 |
Pernambuco | 19.280856 |
Alagoas | 17.078533 |
Sergipe | 17.033584 |
Bahia | 18.732943 |
Minas Gerais | 10.691905 |
Espírito Santo | 9.955143 |
Rio de Janeiro | 15.904398 |
São Paulo | 13.376432 |
Paraná | 7.963648 |
Santa Catarina | 5.271597 |
Rio Grande do Sul | 8.416781 |
Mato Grosso do Sul | 7.600375 |
Mato Grosso | 6.646232 |
Goiás | 10.021484 |
Distrito Federal | 14.539586 |
Salvando a tabela em CSV em nosso PC.
write.csv(txu, "taxadesUF3tri21")
Gráfico usando o pacote ggplot2. Os argumentos da instrução abaixo são autodescritivos.
ggplot(txu, aes(y = txdesuf, x = UF)) +
geom_bar(stat = "identity", fill = "tomato")+
labs(title ="Taxa de desocupação por UF",
subtitle = "3º trimestre de 2021",
caption = "Fonte: Elaboração própria com dados da PNADc- IBGE")+
theme(plot.title = element_text(hjust = 0.5, face = "bold"))+
theme(plot.subtitle = element_text(hjust = 0.5, face = "bold"))+
theme(plot.caption = element_text(hjust = 0, face = "italic"))+
xlab("UF") +
ylab("Taxa de desemprego (%)")+
theme(axis.text.x = element_text(angle = 75, hjust = 1))