le.pesquisa {IBGEPesq} | R Documentation |
Realiza uma leitura em blocos, recuperando apenas as variáveis que se deseja utilizar. Como exemplo, para tabular dados da PNAD sobre educação, necessita-se apenas das variáveis referentes a esse tema (anos de estudo, rede de ensino, ...), além de outras variáveis mais gerais como idade, sexo e peso amostral.
dados <- le.pesquisa(dicionario, pathname.in, pathname.out = NA, codigos, nomes = NA, quant = NA, tbloco = 2000)
dicionario |
Objeto do tipo data-frame com 4 colunas, fornecido juntamente com esse pacote. Contém a identificação e descrição de todas as variáveis contidas no arquivo de microdados, bem como outras informações necessárias à leitura. Cada arquivo de microdados deve possuir um dicionário específico. |
pathname.in |
Objeto do tipo character com o caminho e nome do arquivo de microdados a ser lido. |
pathname.out |
Se fornecido, deve ser um objeto do tipo character, contendo o caminho e o nome do arquivo de saída onde serão armazenados os dados lidos (geralmente no formato *.Rdata). Se esse argumento não for especificado, nenhum arquivo será salvo. |
codigos |
Objeto do tipo vetor de caracteres, com os códigos das variáveis que se deseja ler, conforme especificado no dicionário. |
nomes |
Objeto do tipo vetor de caracteres, com os nomes que se deseja dar as variáveis lidas. Caso não seja especificado, as variáveis serão nomeadas de acordo com o argumento 'codigos'. |
quant |
Objeto do tipo inteiro que deve indicar a quantidade de linhas contidas no arquivo de microdados que se deseja ler. É utitilizado apenas para a construção da barra de espera que indica o andamento da leitura e não necessita ser especificado. Em 2005, os microdados de pessoas da PNAD contêm 408148 linhas e o de domicílios 142471 linhas. |
tbloco |
Objeto do tipo inteiro que indica o tamanho do bloco de leitura. Se não for
especificado serão lidas 2000 linhas de cada vez, valor adequado num computador
com memória RAM de 512MB. Para um computador com menos de 512MB de memória,
tbloco deve ser menor que 2000. Para um computador com mais de 512MB de
memória, tbloco pode ser maior que 2000, o que reduzirá o tempo de leitura. |
A função le.pesquisa
permite a leitura dos microdados das pesquisas domiciliares do IBGE, como
a PNAD e a PME. Os microdados são arquivos do tipo texto, onde as colunas de dados são dispostas lado a
lado sem nenhuma separação. Na realidade, essa função pode ser utilizada para ler qualquer arquivo de dados
do tipo texto que esteja organizado no mesmo formato, basta que se forneça um dicionário do arquivo de dados
desejado. Os dicionários da PNAD e da PME são construídos e disponibilizados pelo IBGE neste pacote.
A função realiza uma leitura em blocos e recupera apenas as variáveis que se deseja utilizar. Como exemplo, para tabular dados da PNAD sobre educação, necessita-se apenas das variáveis referentes a esse tema (anos de estudo, rede de ensino, ...), além de outras variáveis mais gerais como idade, sexo e peso amostral.
O tempo de leitura depende tanto da quantidade de variáveis que serão lidas, quanto do desempenho do computador utilizado. Num computador com Pentinum IV, com velocidade de 2.8GHz e memória RAM de 1GB, a leitura de 28 variáveis dos microdados de pessoas de 2005 levou aproximadamente 10 minutos.
Para ler e trabalhar com mais de 20 variáveis de pessoas da PNAD, recomenda-se que o computador possua no mínimo 1GB de memória.
Como resultado da leitura é fornecido um objeto do tipo data-frame apenas com as variáveis
escolhidas e com o número de linhas igual ao do arquivo original de microdados. Os nomes das colunas
do data-frame de saída são os contidos no argumento nomes
. Caso este não tenha sido especificado,
são utilizados os elementos do argumento codigos
.
Eloane Gonçalves Ramos <eloane@ibge.gov.br>
Dicionários da PNAD (dicPNAD2005
) e da PME (dicPME
).
library(IBGEPesq) data(dicPNAD2005) #substituir pathname.in pelo caminho adequado: dados <- le.pesquisa(dicionario=dicpes2005, pathname.in="E:/DADOS/PES2005.TXT", pathname.out="dados.Rdata", codigos=c("V4703","V4704","V4705","V4707","V4729"), nomes=c("ANOSEST","CONDATV","CONDOCP","HTRAB","PESO"), quant=408148)