O pacote permite baixar e ler dados da POF. Por enquanto o pacote contém apenas os dados divulgados em abril. Não inclui, portanto, dados sobre alimentação e dieta. Isso será incluído em breve.
O Pacote ainda não está no CRAN, apenas Github.
remotes::install_github("tomasbarcellos/pof")
O download funciona apenas para os anos de 2003, 2009 e 2018, por enquanto.
library(pof)
downaload_pof(2018)
unzip_pof(2018)
Com os dados baixamos, o pacote oferece uma função para ler cada tabela da pesquisa.
Por enquanto os scripts de leitura apenas reproduzem as instruções do IBGE para o ano de 2018.
Por exemplo, é possível.
aluguel <- ler_aluguel(2018)
dplyr::glimpse(aluguel)
#> Observations: 48,935
#> Variables: 19
#> $ UF <dbl> 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11…
#> $ ESTRATO_POF <dbl> 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103…
#> $ TIPO_SITUACAO_REG <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2…
#> $ COD_UPA <dbl> 110005400, 110005400, 110005400, 110005400, 11…
#> $ NUM_DOM <dbl> 1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 1, 2, 4, 5, 6…
#> $ NUM_UC <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
#> $ QUADRO <chr> "00", "00", "00", "00", "00", "00", "00", "00"…
#> $ V9001 <chr> "0000101", "0000101", "0000101", "0000101", "0…
#> $ V9002 <dbl> 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11…
#> $ V8000 <dbl> 2.0e+03, 5.0e+02, 3.0e+02, 4.0e+02, 2.0e+02, 4…
#> $ V9010 <dbl> 9, 10, 10, 10, 10, 10, 10, 11, 12, 12, 6, 6, 6…
#> $ V9011 <dbl> 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12…
#> $ DEFLATOR <dbl> 1.0008526, 0.9994171, 0.9994171, 0.9994171, 0.…
#> $ V8000_DEFLA <dbl> 2001.71, 499.71, 299.83, 399.77, 199.84, 399.6…
#> $ COD_IMPUT_VALOR <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0…
#> $ FATOR_ANUALIZACAO <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
#> $ PESO <dbl> 272.8067, 272.8067, 272.8067, 272.8067, 272.80…
#> $ PESO_FINAL <dbl> 372.9845, 372.9845, 372.9845, 372.9845, 372.98…
#> $ RENDA_TOTAL <dbl> 11254.75, 4769.13, 2313.61, 6596.90, 366.43, 2…
domicilios <- ler_domicilio(2018)
dplyr::glimpse(domicilios)
#> Observations: 57,920
#> Variables: 37
#> $ UF <dbl> 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11…
#> $ ESTRATO_POF <dbl> 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103…
#> $ TIPO_SITUACAO_REG <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2…
#> $ COD_UPA <dbl> 110005400, 110005400, 110005400, 110005400, 11…
#> $ NUM_DOM <dbl> 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1, 2, …
#> $ V0201 <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
#> $ V0202 <dbl> 1, 1, 4, 4, 1, 4, 1, 4, 1, 1, 1, 2, 4, 4, 4, 4…
#> $ V0203 <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1…
#> $ V0204 <dbl> 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 3, 3, 3, 4, 1…
#> $ V0205 <dbl> 10, 5, 5, 7, 6, 2, 8, 6, 6, 7, 5, 6, 5, 5, 3, …
#> $ V0206 <dbl> 3, 2, 2, 1, 2, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1…
#> $ V0207 <dbl> 1, 1, 1, 1, 1, 3, 1, 3, 2, 1, 3, 3, 4, 4, 3, 4…
#> $ V0208 <dbl> 1, 2, 1, 2, 1, NA, 1, NA, NA, 1, NA, NA, NA, N…
#> $ V0209 <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
#> $ V02101 <dbl> 1, 1, 1, 1, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2…
#> $ V02102 <dbl> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2…
#> $ V02103 <dbl> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2…
#> $ V02104 <dbl> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2…
#> $ V02105 <dbl> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2…
#> $ V02111 <dbl> 3, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1…
#> $ V02112 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
#> $ V02113 <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
#> $ V0212 <dbl> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2…
#> $ V0213 <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 4, 3…
#> $ V02141 <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
#> $ V02142 <dbl> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2…
#> $ V0215 <dbl> 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 2, 1…
#> $ V02161 <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2…
#> $ V02162 <dbl> 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 1, 2, 2, 2…
#> $ V02163 <dbl> 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 2, 1, 2, 2, 2, 2…
#> $ V02164 <dbl> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2…
#> $ V0217 <dbl> 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 4, 1…
#> $ V0219 <dbl> NA, 1, NA, NA, NA, NA, NA, NA, NA, 3, NA, NA, …
#> $ V0220 <dbl> 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2…
#> $ V0221 <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3…
#> $ PESO <dbl> 272.8067, 272.8067, 272.8067, 272.8067, 272.80…
#> $ PESO_FINAL <dbl> 372.9845, 372.9845, 372.9845, 372.9845, 372.98…
O código abaixo adiciona chaves nas tabelas para permitir vinculá-las.
# Morador - Nível pessoa
morador <- pof::ler_morador(2018) %>%
janitor::clean_names() %>%
mutate(
cod_uc = paste0(cod_upa, num_dom, num_uc),
cod_pessoa = paste0(cod_uc, cod_informante)
)
# Despesa coletiva - Nível despesa
desp_coletiva <- pof::ler_desp_col(2018) %>%
janitor::clean_names() %>%
mutate(
cod_uc = paste0(cod_upa, num_dom, num_uc),
cod_despesa = paste0(cod_uc, quadro, seq)
)
# Caderneta coletiva - Nível despesa domicilio
cad_coletiva <- pof::ler_cad_col(2018) %>%
janitor::clean_names() %>%
mutate(
cod_uc = paste0(cod_upa, num_dom, num_uc),
cod_despesa = paste0(cod_uc, quadro, seq)
)
# Despesa individual - Nível despesa individual
despesa_individual <- pof::ler_desp_ind(2018) %>%
janitor::clean_names() %>%
mutate(
cod_uc = paste0(cod_upa, num_dom, num_uc),
cod_pessoa = paste0(cod_uc, cod_informante),
cod_despesa = paste0(cod_pessoa, quadro, seq)
)
# Aluguel - Nível domicílio
aluguel <- pof::ler_aluguel(2018) %>%
janitor::clean_names() %>%
mutate(
cod_uc = paste0(cod_upa, num_dom, num_uc),
)
# Rendimento - Nível rendimento
rendimentos_trabalho <- pof::ler_rend_trab(2018) %>%
janitor::clean_names() %>%
mutate(
cod_uc = paste0(cod_upa, num_dom, num_uc),
cod_pessoa = paste0(cod_uc, cod_informante),
cod_rendimento = paste0(cod_pessoa, quadro, sub_quadro, seq),
)
# Rendimento - Nível rendimento
rendimentos_outros <- pof::ler_rend_outros(2018) %>%
janitor::clean_names() %>%
mutate(
cod_uc = paste0(cod_upa, num_dom, num_uc),
cod_pessoa = paste0(cod_uc, cod_informante),
cod_rendimento = paste0(cod_pessoa, quadro, seq),
)
# Domicílio - Nível domicílio
domicilios <- pof::ler_domicilio(2018) %>%
janitor::clean_names() %>%
mutate(
cod_dom = paste0(cod_upa, num_dom)
)