SAUDAÇÕES!
Seja bem vindo à página do professor Pedro Albuquerque. Para saber mais sobre meu currículo, disciplinas ministradas e interesses de pesquisa, navegue no menu disponível no topo da página.
domingo, 28 de fevereiro de 2016
segunda-feira, 15 de fevereiro de 2016
Leitura das Bases do IBGE no R.
Frequentemente, pesquisadores desejam utilizar dados secundários em suas análises. Nesse sentido, o maior produtor de fontes primárias de dados é o IBGE. Para acessar as pesquisas basta ir em : http://downloads.ibge.gov.br/. Considere, por exemplo, os dados da Pesquisa de Orçamentos Familiares 2008 disponível no sítio do IBGE.
Nesse post, faremos um exercício para a leitura do dados da POF (Pesquisa de Orçamentos Familiares). Vamos trabalhar com os dois arquivos inicialmente: T_MORADOR_S.txt e T_DESPESA_INDIVIDUAL_S.txt.
O dicionário com as informações também está disponível: Layout com Descrições.xls .
Estamos interessados nas seguintes variáveis da base T_MORADOR_S.txt:
Para fazer a leitura dessa base, vamos usar a função LeBasesPosicaoFixa.R disponível no originalmente na página do Prof. Elias da UFPR:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #Local na máquina onde estão os dados e o arquivo LeBasesPosicaoFixa.R: setwd ( "C:\\Users\\Dados\\POF 2008" ) ##Exemplo 1: Invoca a função LeBasesPosicaoFixa.R source ( "LeBasesPosicaoFixa.R" ) ### Cria um novo arquivo somene com as informações necessárias # Seleciona tudo: fselpr<- function (x) x #Seleciona somente UF 53: fselpr <- function(x) x[substring(x,3,4)==53] rcsel.pfix (file.inp= "T_MORADOR_S.txt" , file.out= "MORADOR.txt" , first= c (3,5,8,9,11,12,60,112), last= c (4,7,8,10,11,13,62,127), fselpr) ###Lê os dados do arquivo de interesse dados<- read.table ( "MORADOR.txt" ) ###Deleta o arquivo MORADOR.txt file.remove ( "MORADOR.txt" ) #Coloca os nomes das variáveis colnames (dados)<- c ( "COD_UF" , "NUM_SEQ" , "NUM_DV" , "COD_DOMC" , "NUM_UC" , "NUM_INF" , "IDADE_ANOS" , "RENDA_BRUTA_MONETARIA" ) #Coloca os labels nas variáveis library (Hmisc) label (dados$COD_UF)<- 'CÓDIGO DA UF' label (dados$NUM_SEQ)<- 'NÚMERO SEQUENCIAL' label (dados$NUM_DV)<- 'DV DO SEQUENCIAL' label (dados$COD_DOMC)<- 'NÚMERO DO DOMICÍLIO' label (dados$NUM_UC)<- 'NÚMERO DA UC' label (dados$NUM_INF<- 'NÚMERO DO INFORMANTE' label (dados$IDADE_ANOS)<- 'IDADE CALCULADA EM ANOS' label (dados$RENDA_BRUTA_MONETARIA)<- 'RENDA MONETÁRIA MENSAL DA UC' describe (dados) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | ##Exemplo 2: Lê os dados do arquivo T_DESPESA_INDIVIDUAL_S.txt rcsel.pfix (file.inp= "T_DESPESA_INDIVIDUAL_S.txt" , file.out= "DESPESA.txt" , first= c (3,5,8,9,11,12,44,46,53), last= c (4,7,8,10,11,13,45,50,63), fselpr) ###Lê os dados do arquivo de interesse desp<- read.table ( "DESPESA.txt" ) ###Deleta o arquivo MORADOR.txt file.remove ( "DESPESA.txt" ) #Coloca os nomes das variáveis colnames (desp)<- c ( "COD_UF" , "NUM_SEQ" , "NUM_DV" , "COD_DOMC" , "NUM_UC" , "NUM_INF" , "NUM_QUADRO" , "COD_ITEM" , "VAL_DESPESA" ) #Coloca os labels nas variáveis label (desp$COD_UF)<- 'CÓDIGO DA UF' label (desp$NUM_SEQ)<- 'NÚMERO SEQUENCIAL' label (desp$NUM_DV)<- 'DV DO SEQUENCIAL' label (desp$COD_DOMC)<- 'NÚMERO DO DOMICÍLIO' label (desp$NUM_UC)<- 'NÚMERO DA UC' label (desp$NUM_INF)<- 'NÚMERO DO INFORMANTE' label (desp$NUM_QUADRO)<- 'NÚMERO DO QUADRO' label (desp$COD_ITEM)<- 'CÓDIGO DO ITEM' label (desp$VAL_DESPESA)<- 'VALOR DA DESPESA / AQUISIÇÃO' |
1 2 3 | ##Exemplo 3: Une as bases dados.pof<- merge (dados,desp,by= c ( "COD_UF" , "NUM_SEQ" , "NUM_DV" , "COD_DOMC" , "NUM_UC" , "NUM_INF" ),all= FALSE ) head (dados.pof) |
Assinar:
Postagens (Atom)