[R-br] leitura dados PNAD 2003 - variáveis V1701 a V1377
Marcos Silva
marcosfs2006 em gmail.com
Quarta Março 25 12:43:01 BRT 2015
Olá Luciane,
Revendo a sua primeira postagem, percebi que você quer importar as
variáveis V1701 *a* V1377, e não apenas estas duas. Alssim, minha proposta
de scritp anterior não lhe ajuda. Fiz uma pequena retificação que corrige
isso:
setwd("C:\\Users\\Marcos\\Documents\\PNAD")
source("getdic.R")
dic <- getdic("INPUT PES2003.TXT")
dic <- subset(dic, cod != "UF")
var <- subset(dic, is.na(desc))$cod
var <- var[!grepl("^V14", var)]
variaveis_interesse <- ifelse(dic$cod %in% var, dic$tamanho, dic$tamanho *
(-1))
dados <- read.fwf("PES2003.TXT", widths=variaveis_interesse,
comment.char="", strip.white=TRUE)
A O objeto "var" obtem os códigos das variáveis que não tem descrição e
depois exclui as que vc não deseja, que são as variáveis posteriores à
variável V1377, que começam por V14.
Infelizmente não tenho no momento como baixar a base de dados da PNAD para
testar o script, mas acho que deve funcionar...
Se vc abrir o arquivo *INPUT PES2003.TXT* vai preceber que as variáveis que
vc desesa importar não possui a descrição da variável contida em um
comentário, como as outras, isso inviabiliza o uso da função selectvar().
Segue abaixo um trecho do referido arquivo.
@00666 V1113 $1. /* IGNORA Nº FILHOS NASC. MORTOS */
@00667 V1114 $1. /* IGNORA Nº FILHAS NASC. MORTAS */
@00668 V1701 $1. /* */
@00669 V1702 $2. /* */
@00671 V1703 $1. /* */
A pessoa do IBGE que escreveu este script de importação dos dados, ficou
com preguiça de digitar as descrições destas variáveis... :)
Agora se vc escrever qualquer coisa nos comentários, para não deixá-los em
branco, aí vc pode voltar a usar a função selectvar(), Por exemplo:
@00666 V1113 $1. /* IGNORA Nº FILHOS NASC. MORTOS */
@00667 V1114 $1. /* IGNORA Nº FILHAS NASC. MORTAS */
@00668 V1701 $1. /* V1701 */
@00669 V1702 $2. /* V1702 */
@00671 V1703 $1. /* V1703 */
Bem, espero que isso lhe ajude.
Abs.
Em 25 de março de 2015 11:41, Éder Comunello <comunello.eder em gmail.com>
escreveu:
> Bom dia,
>
> Supondo que as bases anuais tem a mesma estrutura, já tentou ler os dados
> de 2003 com o dicionário de outro ano? Por exemplo usar o dicionário de
> 2002 para os dados de 2003...
>
> Por segurança seria bom abrir e comparar os dois dicionários...
>
> Éder Comunello <c <comunello.eder em gmail.com>omunello.eder em gmail.com>
> Dourados, MS - [22 16.5'S, 54 49'W]
>
>
>
> _______________________________________________
> 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.
>
--
Marcos F. Silva
http://sites.google.com/site/marcosfs2006
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150325/2491207e/attachment.html>
Mais detalhes sobre a lista de discussão R-br