[R-br] Leitura de dados da PNAD 2008 com o pacote dicionariosIBGE
Leonardo Ferreira Fontenelle
leonardof em leonardof.med.br
Sábado Agosto 30 12:49:12 BRT 2014
Este código importa os dados com sucesso:
# Pelo dicionario, o terceiro campo (variável de controle) engloba o
segundo (UF)
# Mas isso é dificil para a função entender.
novodic <- within(dicdom2008, {inicio[3] <- 7; tamanho[3] <- 6})
amostra <- read.fwf(file = "2008/dados/DOM2008.txt",
widths = novodic$tamanho,
header = FALSE,
col.names = novodic$cod,
strip.white = TRUE)
amostra[, 3] <- factor(paste0(amostra[, 2], amostra[, 3]))
Fornecer esse "novodic" em vez do dicdom2008 para a função le.pesquisa()
do pacote dicionariosIBGE não resolveu o problema já relatado.
--
Leonardo Ferreira Fontenelle
http://lattes.cnpq.br/9234772336296638
Em Sáb 30 ago. 2014, às 11:45, Leonardo Ferreira Fontenelle escreveu:
> Não sei o quanto ajuda, mas percebi que o dataframe gerado está com o
> número errado de linhas:
>
> Num terminal:
> . wc DOM2008.txt --lines
> 150591 DOM2008.txt
>
> No R:
> . nrow(amostra)
> [1] 1015101
>
> Essa diferença não se resolve pedindo ao le.pesquisa() para ler todas as
> variáveis:
> . amostra <- le.pesquisa(dicdom2008,
> "~/Dropbox/Cobertura/2008/dados/DOM2008.txt", codigos = dicdom2008[, 2],
> nlines = 150591)
> |======================================================================|
> 100%
> . nrow(amostra)
> [1] 1015101
>
> --
> Leonardo Ferreira Fontenelle
> http://lattes.cnpq.br/9234772336296638
>
> Em Sáb 30 ago. 2014, às 11:19, Leonardo Ferreira Fontenelle escreveu:
> > Bom dia, pessoal.
> >
> > Estou começando a namorar os microdados da Pesquisa Nacional por Amostra
> > de Domicílios de 2008, mas não estou conseguindo utilizar o pacote
> > dicionariosIBGE para ler os microdados. Na saída abaixo, substituí o
> > prompt ">" por "." para evitar que clientes de e-mail interpretem como
> > citação de e-mails prévios.
> >
> > . library("dicionariosIBGE")
> > . data(dicPNAD2008)
> > . dicdom2008
> > inicio cod tamanho desc
> > 1 1 V0101 4 ANO DA PESQUISA
> > 2 5 UF 2 UNIDADE DA FEDERACAO
> > 3 5 V0102 8 NUMERO DE CONTROLE
> > 4 13 V0103 3 NUMERO DE SERIE
> > 5 16 V0104 2 TIPO DE ENTREVISTA
> > [...]
> > . amostra <- le.pesquisa(dicdom2008,
> > "~/Dropbox/Cobertura/2008/dados/DOM2008.txt", codigos = c("V0101", "UF",
> > "V0102", "V0103", "V4105", "V4106", "V4606", "V4604", "V4605", "V4606",
> > "V4607", "V4608", "V4609", "V4610", "V4611", "SUBAMO", "V0223"), nlines
> > = 150591)
> > |=====================================================================| 100%
> > . summary(amostra$V0101)
> > Mode NA's
> > logical 1015101
> > . summary(amostra$UF)
> > Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
> > 0.00 3.00 12.00 19.69 31.00 99.00 264343
> >
> > Como os microdados da PNAD 2008 estão reponderados utilizando
> > informações posteriores à publicação original do arquivo, considerei a
> > possibilidade de que a organização dos dados tivesse mudado. Mas,
> > conferindo o dicionário de dados atualmente disponibilizado, vi que os
> > números de início, código e tamanho continuam os mesmos, pelo menos para
> > as primeiras variáveis (são setenta variáveis, só neste banco de dados).
> >
> > O que será que estou fazendo de errado?
> >
> > Grato,
> >
> > Leonardo Ferreira Fontenelle
> > http://lattes.cnpq.br/9234772336296638
Mais detalhes sobre a lista de discussão R-br