
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/pnad20... .
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