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.