Olá Luciane, 

A idéia da função selectvar() é permitir ao usuário selecionar as variáveis com base na descrição das mesmas. No seu caso, vi que diversas variáveis não possuem uma descrição, o que torna o uso desta função um pouco sem sentido.

Uma abordagem pode ser a seguinte:

# Definir o diretóro de trabalho
setwd("C:\\Users\\Marcos\\Documents\\PNAD")

# Importar funções auxiliares
source("getdic.R")

# Obter o dicionário
dic <- getdic("INPUT PES2003.TXT")

# Excluir a variável UF
dic <- subset(dic, cod != "UF") 

#  Variáveis a serem importadas V1701 e V1377
variaveis_interesse  <- ifelse(dic$cod %in% c("V1701", "V1377"), dic$tamanho, dic$tamanho * (-1))

# Importa os dados
dados <- read.fwf("PES2003.TXT", widths=variaveis_interesse, comment.char="", strip.white=TRUE)

Acho que deve funcionar. Ainda não testei :)

Atualmente existem outras opções para a importação de microdados que podem ser interessantes.

Dê uma olhada nos pactoes LaF e SAScii.

Boa Sorte!


Em 24 de março de 2015 09:52, Luciane Maria Pilotto <lutipilotto@yahoo.com.br> escreveu:
Bom dia,

estou tentando ler as variáveis da PNAD de 2003 - V1701 a V1377- relacionadas ao suplemento Saúde- e as mesmas aparecem como NA. O banco está disponível no site do IBGE http://www.ibge.gov.br/home/estatistica/populacao/trabalhoerendimento/pnad2013/microdados.shtm.

Também podem ser acessados no dropbox: https://www.dropbox.com/sh/d0z62bg4qqyg2x3/AAAVDYWjVlb4JpUTYlQfvq-Ka?dl=0.

Estou usando os comandos abaixo:

#----------------Ler microdados da PNAD 2003 (variáveis referente ao suplemento Saúde) utilizando a função read.fwf.r ----------------------#

source(file.choose()) #carregar a função selectvar da pasta funcoes
source(file.choose()) #carregar a função getdic da pasta funcoes

# Gerar os dicionários de dados a partir dos  arquivos:  'input PES2003.txt'
dicPNAD2003Pes <- getdic(file.choose())# abrir o arquivo input PES2003.txt, dentro da Pasta Input

head(dicPNAD2003Pes)
str(dicPNAD2003Pes)
nrow(dicPNAD2003Pes)
dim(dicPNAD2003Pes)

# Para EXCLUSÃO do "UF" (que apresenta erro na importação por começar na mesma posição que número de controle):

dicPNAD2003Pes <- subset(dicPNAD2003Pes, cod !="UF")
head(dicPNAD2003Pes)
dim(dicPNAD2003Pes)

####Usar estes comandos para importar *apenas algumas variáveis* da base de dados das PESSOAS

variaveis <- selectvar(dicPNAD2003Pes) # Com a tecla CTRL pressionada, selecione as variáveis de interesse, neste caso são as que aparecem como NA:
Erro em substring(x, first, last) : invalid substring arguments

### PROBLEMA: Ao abrir a janela das variáveis utilizando o comando acima, as variáveis de interesse referentes a saúde aparecem como NA, diferentemente das demais variáveis que aparecem no banco. No dicionário as mesmas aparecerem corretamente.

Atenciosamente,

__________________________________________________
Luciane Maria Pilotto


_______________________________________________
R-br mailing list
R-br@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