[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