Análise de microdados da PNAD Covid com o R

Com o R, é possível acessar diversas bases de dados e baixar o que precisa diretamente para o RStudio. Um exemplo disso são os microdados da PNAD Covid. Nessa Dicas de R - disponível toda quarta-feira aqui no blog da AM -vamos mostrar como pegar esses dados diretamente do ftp do IBGEComo de praxe, o código começa carregando alguns pacotes que utilizaremos.

library(tidyverse)

A seguir, nós podemos fazer o download dos dados diretamente do FTP do IBGE. Escolhemos os últimos microdados disponíveis da PNAD Covid.


## Baixar os dados via ftp
url = "ftp://ftp.ibge.gov.br/Trabalho_e_Rendimento/Pesquisa_Nacional_por_Amostra_de_Domicilios_PNAD_COVID19/Microdados/Dados/PNAD_COVID_112020.zip"
download.file(url, destfile='PNAD_COVID_112020.zip', mode='wb')
unzip('PNAD_COVID_112020.zip')
pnad_covid <- read_csv("PNAD_COVID_112020.csv",
col_types = cols(.default = "d"))

No código acima, é preciso observar que estamos baixando os dados para a pasta previamente setada no RStudio. Baixado os dados e importado para o RStudio, podemos agora baixar também o dicionário dos dados.


## Baixar o dicionário dos dados
url_2 = "ftp://ftp.ibge.gov.br/Trabalho_e_Rendimento/Pesquisa_Nacional_por_Amostra_de_Domicilios_PNAD_COVID19/Microdados/Documentacao/Dicionario_PNAD_COVID_112020.xls"
download.file(url_2, destfile='Dicionario_PNAD_COVID_112020.xls', mode='wb')

De posse desses dados, podemos agora explorá-los. Vamos supor que estamos interessados em saber quem recebeu o auxílio emergencial do governo por tipo de trabalho que a pessoa ocupa. Esse foi o questionamento do meu aluno Rodrigo Ashikawa, da nossa Formação Data Science para Economistas, que acabou me dando a ideia desse Dicas de R de hoje.

Com o código a seguir, nós criamos uma nova variável com o tipo de trabalho que a pessoa ocupa, de acordo com o dicionário dos microdados da pesquisa.


pnad_covid <- mutate(pnad_covid,
tipo_emprego = case_when(
C007 == 1 ~ "Trabalhador Doméstico",
C007 == 2 ~ "Militar",
C007 == 3 ~ "Policial ou Bombeiro",
C007 == 4 ~ "Setor Privado",
C007 == 5 ~ "Setor Público",
C007 == 6 ~ "Empregador",
C007 == 7 ~ "Conta Própria",
C007 == 8 ~ "Trabalhador Familiar",
C007 == 9 ~ "Fora do mercado",
is.na(C007) ~ 'Não informado'))

Uma vez feito isso, nós podemos agora selecionar as variáveis que queremos dos dados e também criar uma nova variável dummy que diz se a pessoa recebeu ou não o auxílio emergencial. O código a seguir implementa.


auxilio_emprego <- select(pnad_covid, D0051, tipo_emprego) %>%
mutate(auxilio_emergencial = ifelse(D0051 == 1, "Sim", "Não"))

Por fim, nós podemos agrupar os nossos dados, de modo a saber quantas pessoas da nossa base receberam o auxílio emergencial de acordo com o trabalho que ocupam.


auxilio_emprego <- auxilio_emprego %>%
group_by(tipo_emprego) %>%
summarise(
count_total = n(),
recebeu = sum(D0051 == 1),
n_recebeu = sum(D0051 == 2)) %>%
mutate("Auxilio Emergencial (%)" = (recebeu / count_total)*100)

O gráfico a seguir ilustra.

O gráfico resume a pesquisa que fizemos nos microdados da PNAD Covid. 58% dos que se identificaram como "Conta Própria" receberam o auxílio emergencial, enquanto 21,4% que se identificaram como "Militar" tiveram acesso ao benefício. Dos que colocaram "Não informado", o maior contingente, 52% tiveram acesso ao auxílio.

Um pdf e um script com todo o código desse exercício está disponível para os membros do Clube AM.

Caso você tenha interesse em microdados, conheça nosso Curso de Microeconometria usando o R.

____________

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como tratar dados no Python? Parte 5: renomeando colunas

Como dar novos nomes significativos para as colunas em uma tabela de dados usando Python? Neste tutorial mostramos os métodos de renomeação de colunas disponíveis na biblioteca pandas, que tem como vantagem sua sintaxe simples e prática.

Como tratar dados no Python? Parte 4: operações por grupos

Como mensalizar dados diários? Ou como filtrar os valores máximos para diversas categorias em uma tabela de dados usando Python? Estas perguntas são respondidas com os métodos de operações por grupos. Neste tutorial mostramos estes métodos disponíveis na biblioteca pandas, que tem como vantagem sua sintaxe simples e prática.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.