[R-br] Leitura de dados da PNAD 2008 com o pacote dicionariosIBGE

Leonardo Ferreira Fontenelle leonardof em leonardof.med.br
Segunda Setembro 1 21:14:14 BRT 2014


Obrigado pela dica, Roney!

Eu não conhecia este seu post, embora já tenha visto o de Anthony
Damico.

Provavelmente não rodei os scripts de Anthony por teimosia. Eu queria me
familiarizar com ferramentas convencionais mais (read.fwf, le.pesquisa),
e queria entender o que estava acontecendo em cada passo. Mas confesso
que, no mínimo, "colei" dos scripts dele (1) a omissão da variável UF do
dicionário, em vez da minha tentativa inicial de encurtar a variável
seguinte; e, mais importante (2) quais variáveis especificar para o
svydesign e o postStratify. Lendo a lista de variáveis da PNAD, imagino
que dê para especificar cada um dos três níveis do plano amostral, mas
não consigo encontrar uma correspondência direta entre as notas
metodológicas da PNAD e a distribuição das variáveis relativas ao plano
amostral.

Usar o read.fwf para o banco de dados de pessoas (em vez do de
domicílios) se mostrou uma tortura. Felizmente, um hora acabou, e sem
travar o computador, o que já é alguma coisa (até salvei em um arquivo
rda por via das dúvidas). Tentei abrir o arquivo fornecido pelo IBGE
como no exemplo 6f do sqldf [https://code.google.com/p/sqldf/], mas por
algum motivo obscuro todas as variáveis estavam sendo interpretadas como
character(). Estava difícil descobrir como consertar isso, então fui
aprender a utilizar o laf_open_fwf.

O laf_open_fwf tem dois problemas. Um é que o objeto nem sempre se
comporta como esperaríamos de um data.frame. Ao menos para mim, isso
implica em ir experimentando o que dá certo e o que não dá. Outro
problema é que, para ler o arquivo, precisamos especificar o tipo de
cada uma das variáveis (integer, double, ...), o que pode se tornar
rapidamente um problema para quase 800 variáveis. Usei um ou outro
truque para conseguir isso numa escala de tempo razoável e com muito
poucos erros (pelo menos que eu tenha detectado até agora com o
summary!) mas o melhor mesmo seria, Roney, eu ter usado esse truque
maravilhoso de skip1, skip2 etc que você utiliza em seu código. (Não
assisti aos vídeos, prefiro texto.)

A solução de transformar o arquivo original em CSV, e transformar este
em SQL, deve ser a mais prática, mas me incomodou um pouco. Como eu não
consegui transformar o arquivo de largura fixa diretamente em SQL,
talvez eu faça isso a partir da conexão criada pelo LaF. Ainda não sei
se vai valer a pena, porque um banco de dados com poucas variáveis deve
caber bem na minha memória.

-- 
Leonardo Ferreira Fontenelle
http://lattes.cnpq.br/9234772336296638

Em Dom 31 ago. 2014, às 17:47, Roney Fraga Souza escreveu:
> Esse link pode ser útil.
> 
> http://roneyfraga.tumblr.com/post/51043730168/microdados-no-r-parte-1
> 
> A maneira mais fácil de baixar os microdados é com as funções criadas por
> Anthony Damico, que baixa os microdados e salva em um arquivo de sqlite.
> Vale notar que as funções de Damico consideram a desenho amostral das
> pesquisas.
> 
> https://github.com/ajdamico/usgsd
> 
> Com as funções de Damico é possível baixar os dados do censo, pnad e pof.
> 
> Att
> Roney
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.


Mais detalhes sobre a lista de discussão R-br