
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