Roney,

 

Para importar qualquer tipo de dados fixo, pode-se utilizar a função read.fwf do pacote gdata.

 

Entretanto, certa vez o Prof. Djalma ao trabalhar com os dados da PNAD utilizava, salvo engano, a função scan() e o substr() para separar os dados. Parecia ser mais rápida, ainda não tive tempo para verificar. Na função read.fwf tem um parâmetro de buffer que dependendo do seu computador pode ser interessante aumentar para ganhar tempo.

 

Um abraço,

Leandro

 

De: r-br-bounces@listas.c3sl.ufpr.br [mailto:r-br-bounces@listas.c3sl.ufpr.br] Em nome de Roney Fraga
Enviada em: sexta-feira, 27 de janeiro de 2012 19:50
Para: R-br
Assunto: [R-br] Importar Microdados - arquivos .txt sem separação entre as colunas

 

Caros,

Diante da necessidade de importar microdados, principalmente do IBGE, por meio do pacote IBGEPesq() que vem apresentando alguns problemas, pergunto se algum usuário tem alguma sugestão para importar microdados alternativa ao pacote IBGEPesq().

Microdados consiste geralmente em grandes pesquisas que são disponibilizadas em arquivos .txt apenas com números sem nenhuma separação entre as colunas, sendo o arquivo dicionário disponibilizado a parte em outro arquivo .txt, nesse arquivo dicionário consta em que coluna começa e termina cada variável. No link http://www.datafilehost.com/download-2565fe79.html segue exemplo do arquivo .txt com os dados da PNAD 2009 banco domicílios. E no link http://www.datafilehost.com/download-fe9c31a8.html segue exemplos de dicionários para o SAS, disponibilizado pelo IBGE, e para o Stata que fiz com base no dicionário anterior. Se necessário o mesmo dicionário pode ser encontrado no R através dos comandos

install.packages('dicionariosIBGE')
library(dicionariosIBGE) 
data(dicPNAD2009)
dicdom2009

No Stata uma vez que tenha o dicionário, na extensão .dct, e o arquivo .txt com os dados a serem lidos basta executar o comando

infile using “/Caminho/Arquivo/dicionario.dct”
no R não sei se é possível seguir o mesmo raciocínio para importar dados em arquivos .txt, caso algum usuário possa contribuir será uma grande ajuda.

Os arquivos em .txt geralmente são grandes, por exemplo, a PNAD 2009 arquivo pessoas tem 320MB. Uma vez ultrapassada a dificuldade de importar os dados, será mais fácil utilizar o R para trabalhar com os dados públicos das seguintes pesquisas:

PNAD, POF, PME, Enade, Censo Escolar, Censo da Educação Superior, Censo dos Profissionais do Magistério, Saeb, Enem, Provão, PNERA, Prova Brasil, Pesquisa de Ações Discriminatórias no Âmbito Escolar, etc...

Atenciosamente

Roney