Vimos anteriormente no post Revolution R - Parte 2 como manipular bases de dados importadas para o ambiente Revolution R. Nesse post veremos como importar dados brutos das pesquisas do IBGE. Considere por exemplo, os dados da Pesquisa Nacional por Amostra de Domicílios - PNAD 2011.
Após baixar os microdados podemos criar o dataset no formato nativo *.XDF do Revolution R da seguinte forma:
#Define o working directory setwd("C:/PNAD2011/Dados") #Define as variáveis e seu tipo colList <- list( "V0101"=list(type="factor", start=1, width=4,description="Ano de referência"), "UF"=list(type="factor", start=5, width=2,description="Unidade da Federação"), "V0102"=list(type="factor", start=5, width=8,description="Número de controle"), "V0103"=list(type="factor", start=13, width=3,description="Número de série"), "V0104"=list(type="factor", start=16, width=2,description="Tipo de entrevista"), "V0105"=list(type="factor", start=18, width=2,description="Total de moradores"), "V0106"=list(type="factor", start=20, width=2,description="Total de moradores de 10 anos ou mais"), "V0201"=list(type="factor", start=22, width=1,description="Espécie do domicílio"), "V0202"=list(type="factor", start=23, width=1,description="Tipo do domicílio"), "V0203"=list(type="factor", start=24, width=1,description="Material predominante na construção das paredes externas do prédio"), "V0204"=list(type="factor", start=25, width=1,description="Material predominante na cobertura (telhado) do domicílio"), "V0205"=list(type="integer", start=26, width=2,description="Número de cômodos do domicílio"), "V0206"=list(type="integer", start=28, width=2,description="Número de cômodos servindo de dormitório"), "V0207"=list(type="factor", start=30, width=1,description="Condição de ocupação do domicílio"), "V0208"=list(type="numeric", start=31, width=12,description="Aluguel mensal pago no mês de referência"), "V0209"=list(type="numeric", start=43, width=12,description="Prestação mensal paga no mês de referência"), "V0210"=list(type="factor", start=55, width=1,description="Terreno onde está localizado o domicílio é próprio"), "V0211"=list(type="factor", start=56, width=1,description="Tem água canalizada em pelo menos um cômodo do domicílio"), "V0212"=list(type="factor", start=57, width=1,description="Proveniência da água canalizada utilizada no domicílio"), "V0213"=list(type="factor", start=58, width=1,description="Água utilizada no domicílio é canalizada de rede geral de distribuição para a propriedade"), "V0214"=list(type="factor", start=59, width=1,description="Água utilizada no domicílio é de poço ou nascente localizado na propriedade"), "V0215"=list(type="factor", start=60, width=1,description="Tem banheiro ou sanitário no domicílio ou na propriedade"), "V0216"=list(type="factor", start=61, width=1,description="Uso do banheiro ou sanitário"), "V2016"=list(type="integer", start=62, width=2,description="Número de banheiros ou sanitários"), "V0217"=list(type="factor", start=64, width=1,description="Forma de escoadouro do banheiro ou sanitário"), "V0218"=list(type="factor", start=65, width=1,description="Destino do lixo domiciliar"), "V0219"=list(type="factor", start=66, width=1,description="Forma de iluminação do domicílio"), "V0220"=list(type="factor", start=67, width=1,description="Tem telefone móvel celular"), "V2020"=list(type="factor", start=68, width=1,description="Tem telefone fixo convencional"), "V0221"=list(type="factor", start=69, width=1,description="Tem fogão de duas ou mais bocas"), "V0222"=list(type="factor", start=70, width=1,description="Tem fogão de uma boca"), "V0223"=list(type="factor", start=71, width=1,description="Tipo de combustível utilizado no fogão"), "V0224"=list(type="factor", start=72, width=1,description="Tem filtro dágua"), "V0225"=list(type="factor", start=73, width=1,description="Tem rádio"), "V0226"=list(type="factor", start=74, width=1,description="Tem televisão em cores"), "V0227"=list(type="factor", start=75, width=1,description="Tem televisão em preto e branco"), "V2027"=list(type="factor", start=76, width=1,description="Tem aparelho de DVD"), "V0228"=list(type="factor", start=77, width=1,description="Tem geladeira"), "V0229"=list(type="factor", start=78, width=1,description="Tem freezer"), "V0230"=list(type="factor", start=79, width=1,description="Tem máquina de lavar roupa"), "V0231"=list(type="factor", start=80, width=1,description="Tem microcomputador"), "V0232"=list(type="factor", start=81, width=1,description="Microcomputador é utilizado para acessar a Internet"), "V2032"=list(type="factor", start=82, width=1,description="Tem carro ou motocicleta de uso pessoal"), "V4105"=list(type="factor", start=83, width=1,description="Código de situação censitária"), "V4107"=list(type="factor", start=84, width=1,description="Código de área censitária"), "V4600"=list(type="factor", start=85, width=2,description="Dia de referência"), "V4601"=list(type="factor", start=87, width=2,description="Mês de referência"), "V4602"=list(type="factor", start=89, width=4,description="Estrato"), "V4604"=list(type="integer", start=93, width=2,description="Número de municípios selecionados no estrato"), "V4605"=list(type="numeric", start=95, width=12,description="Probabilidade do município"), "V4606"=list(type="integer", start=107, width=3,description="Número de setores selecionados no município"), "V4607"=list(type="numeric", start=110, width=12,description="Probabilidade do setor"), "V4608"=list(type="factor", start=122, width=6,description="Intervalo de seleção do domicílio"), "V4609"=list(type="numeric", start=128, width=9,description="Projeção de população"), "V4610"=list(type="numeric", start=137, width=3,description="Inverso da fração"), "V4611"=list(type="numeric", start=140, width=5,description="Peso do domicílio"), "V4614"=list(type="numeric", start=145, width=12,description="Rendimento mensal domiciliar para todas as unidades domiciliares (exclusive o rendimento das pessoas cuja condição na unidade domiciliar era pensionista, empregado doméstico ou parente do empregado doméstico e das pessoas de menos de 10 anos de idade)"), "UPA"=list(type="numeric", start=157, width=4,description="Delimitação do município"), "V4617"=list(type="factor", start=161, width=7,description="STRAT - Identificação de estrato de município auto-representativo e não auto-representativo"), "V4618"=list(type="factor", start=168, width=7,description="PSU - Unidade primária de amostragem"), "V4620"=list(type="integer", start=175, width=2,description="Número de componentes do domícilio (exclusive as pessoas cuja condição na unidade domiciliar era pensionista, empregado doméstico ou parente do empregado doméstico)"), "V4621"=list(type="numeric", start=177, width=12,description="Rendimento mensal domiciliar per capita"), "V4622"=list(type="factor", start=189, width=2,description="Faixa do rendimento mensal domiciliar per capita"), "V4624"=list(type="factor", start=191, width=1,description="Forma de abastecimento de água"), "V9992"=list(type="character", start=192, width=8,description="Data de geração do arquivo de microdados") ) #Endereço dos microdados pnadFile <- file.path("C:/PNAD2011/Dados", "DOM2011.DAT") #Especficação para a importação sourceData <- RxTextData(pnadFile, colInfo=colList) outputData <- RxXdfData("DOM2011.xdf") rxImport(sourceData, outputData, overwrite = TRUE)Note que cada variável possui um tipo definido (integer, numeric ou factor), sua posição incial e final no arquivo texto DOM2011.DAT além de um descritor. Essas informações estão disponíveis no dicionário da PNAD 2011. Outro comentário importante, é o fato da linha número 70 especificar o local em que os dados da PNAD foram extraídos. Uma vez importados esses dados, podemos realizar algumas operações de interesse, por exemplo:
#Confere o formato das variáveis rxGetInfoXdf("DOM2011.xdf", getVarInfo=TRUE) #Remove as observações com peso missing ou negativo rxDataStep(inData = "DOM2011.xdf", outFile = "DOM2011.xdf",rowSelection=(V4611>0),overwrite=TRUE) #Estatísticas por UF usando somente a média mun<-rxSummary(~V2016:UF, data = "DOM2011.xdf", fweights = "V4611",summaryStats ="Mean") print(mun)Nos próximos posts sobre o Revolution R utilizaremos a base de dados criada e citada aqui, qual seja:DOM2011.xdf.