FACE – Faculdade de Administração, Ciências Contábeis e Ciências Econômicas Curso de Ciências Econômicas Direção FACE Prof. Moisés Ferreira da Cunha Vice-Direção FACE Prof. Mauro Caetano de Souza Coordenação do Curso de Ciências Econômicas Prof.ª Priscila Casari NEPEC – Núcleo de Estudos e Pesquisas Econômicas Coordenação Sérgio Fornazier Meyrelles Filho CURSO DE ANÁLISE DE MICRODADOS USANDO O STATA MATERIAL DE APOIO Professor: Sandro Eduardo Monsueto Assistente de Pesquisa: Bárbara C. Pereira da Silva Carrijo NEPEC/FACE/UFG Goiânia – Agosto/Setembro 2014 Versão 1.0 Endereço Campus Samambaia, Prédio da FACE – Rodovia Goiânia/Nova Veneza, km. 0 – Caixa Postal 131, CEP 74001-970, Goiânia – GO. Tel. (62) 3521 – 1390 URL http://www.face.ufg.br/economia INTRODUÇÃO Esta apostila serve de material de apoio para a realização do curso. Longe de ser abrangente, tem como objetivo servir de guia ou de lembrete para a execução de tarefas. Outros materiais, melhores e mais completos, podem ser facilmente encontrados de forma gratuita na internet e a mesma empresa que desenvolveu o Stata pública uma série de livros para temas específicos tanto para iniciantes como para usuários avançados1. Contudo, como qualquer programa estatístico, dificilmente encontraremos alguém que conhece todos os detalhes e segredos do Stata, sendo mais comum que cada pesquisador se especialize em um conjunto específico de funções, como Análise de Regressão, Análise de Painel, Modelos de Sobrevivência, Séries Temporais e Microdados. O material toma como base a versão Stata 11. Para este curso, a ênfase será na extração e análise de microdados do IBGE, com especial atenção aos dados da PNAD. Isso deve facilitar inclusive o trabalho com outras fontes de dados, ainda que não sejam diretamente tratadas aqui, tais como o Censo Escolar ou o SAEB. 1. APRESENTAÇÃO GERAL DO PROGRAMA O Stata é um programa de análise estatística e tratamento de dados amplamente utilizado por pesquisadores das ciências sociais aplicadas, principalmente economia e demografia. Apesar de ser um programa pago, seu custo pode ser considerado baixo para instituições de pesquisas acadêmicas se comparado a outros pacotes licenciados como o SPSS ou o SAS2. 1.1. Telas principais A Figura 1 mostra a tela principal do Stata na versão 11.2, com uma base de dados carregada. É possível observar que a interface está dividida em quatro telas, um menu principal e um menu de atalhos. A tela central (RESULTS) exibe os resultados dos comandos executados, exceto os gráficos, que aparecem em uma tela a parte. Estes resultados (e qualquer alteração na base de dados) não são salvos de forma automática. É possível criar um arquivo de resultados (logs) que deixa arquivado tudo o que é exibido nesta tela. A parte inferior (COMMAND) permite a entrada direta de linhas de comandos. Para executar uma linha, basta digitar e pressionar Enter. A tela VARIABLES exibe as variáveis que constam na base de dados carregada no Stata, enquanto a tela REVIEW registra todas as linhas de comandos que foram executadas na tela de Command. A Figura 2 mostra alguns detalhes do Menu Principal e dos Atalhos. Durante este curso, usaremos com pouca frequência a maior parte destes menus, uma vez que a ênfase será dada na execução de tarefas por meio de linhas de comando (tela Command ou Do-file). 1.2. Abrir bases de dados Para abrir uma base de dados que já está em formato Stata (DTA), basta cliclar no ícone da pasta amarela no menu de Atalhos. Antes de abrir alguma base de dados, é recomendado executar três comandos iniciais, de preferência nesta sequência: • clear: limpa a base de dados e a memória de sessão do programa • set memo 100m: isso expande a memória disponibilizada pelo computador para o Stata. Este comando já não é mais necessário a partir da versão 12 do stata. 1 Veja uma lista de livros da StataCorp em http://www.stata.com/publications/ Link do Wikipedia com comparações de pacotes estatísticos pagos e gratuitos: http://en.wikipedia.org/wiki/Comparison_of_statistical_packages. 2 • set dp comma: este comando converte o símbolo separador de casas decimais de ponto para vírgula, como usado comumente no Brasil. Commands: Exibe os comandos que foram executados Variables: Lista das variáveis da base de dados Command: Local de entrada dos comandos individuais Results: Tela de resultados (exceto gráficos) Figura 1 – Tela principal do Stata New Do-file Editor: Abre um novo arquivo de execução de comandos “em lote” Atalhos para os principais comandos do Stata: • Manipulação de dados • Assistente de gráficos • Estatísticas descritivas • Modelos Estatísticos Data Editor (Edit/Browse): Abre a “planilha” de dados Break: Para a execução de um comando ou sequência de comandos. Figura 2 – Menus superiores 3 Prof. Sandro E. Monsueto UFG/FACE/Nepec www.face.ufg.br/economia Para abrir arquivos com outros formatos (Excel, SPSS, dbf) é recomendado usar o programa Stat/Transfer3 se você estiver com uma versão Stata 11 ou inferior. A partir da versão 12, a importação ficou mais amigável, principalmente quando a base de dados original está em formato Excel. A importação de dados no estilo dos microdados do censo e PNAD requer um pouco mais de cuidado e será abordado posteriormente. 1.3. Estrutura geral dos comandos e variáveis Em geral, os comandos do stata obedecem à seguinte sintaxe: [COMANDO] [LISTA DE VARIÁVEIS] [RESTRIÇÕES], [OPÇÕES] Os comandos devem ser escritos sempre em letras minúsculas. Além disso, deve-se tomar certo cuidado com os nomes das variáveis: • Evite usar letras maiúsculas e acentuação ao nomear as variáveis • As variáveis não podem ter nomes compostos separados. o Errado: idade do trabalhador o Correto: idade_do_trabalhador o Não Recomendado: Educação o Recomendado: educacao • Isso ajuda a evitar erros na execução dos comandos 1.4. Alguns exemplos de comandos de estatísticas descritivas Com a base de dados “desemprego2008.dta” aberta, entre com os comandos abaixo. O Resultado é exibido na Figura 3. • tab genero • tab sindicato,m • tab genero sindicato, nofreq col Figura 3 – Exemplos de execução do comando tabulate (tab) 3 https://www.stattransfer.com/ 4 Prof. Sandro E. Monsueto UFG/FACE/Nepec www.face.ufg.br/economia Execute agora os seguintes comandos • sum renda • sum renda idade educacao Figura 4 – Exemplos de execução do comando summarize (sum) Por fim, execute os comandos: • sum renda if genero==1 • bys genero: sum renda • tab genero, sum(renda) Figura 5 – Exemplos de combinação dos comandos tabulate e summarize (tab/sum) 5 Prof. Sandro E. Monsueto UFG/FACE/Nepec www.face.ufg.br/economia 1.5. Comandos de manipulação da base de dados Abaixo são apresentados alguns exemplos de aplicação dos comandos de manipulação da base de dados. • Etiquetar variáveis: LABEL tab genero label define sexo 1 “1-Homens” 0 “0-Mulheres” label value genero sexo tab genero • Criar variável: GEN gen sh = (renda/horas*4.33) gen idade2 = idade^2 cria a idade ao quadrado • Recodificar Variável: RECODE gen regiao = . recode região .=1 if uf<16 recode região .=2 if uf < 30 recode região .=3 if uf < 40 recode região .=4 if uf < 50 recode região .=5 if uf < 60 • Apagar variáveis ou observações: DROP e KEEP drop horas deleta a variável horas drop if sexo==1 deleta as observações de todos os homens drop if idade >= 40 deleta os dados de indivíduos com 40 anos ou mais keep if educacaoo <=10 mantem na base apenas os dados de quem tem 10 anos ou menos de educação keep educacao cor sh apaga todas as variáveis, exceto educacao e cor 2. USO DE DO-FILES Além da tela de COMMAND, o Stata permite a execução de conjuntos sequenciais de comando com o uso dos arquivos de extenção *.DO, também conhecidos como “Do-Files”. Para abrir um novo do-file, clique no botão New Do-file Editor, na parte superior da tela (Figura 2). Será aberto um novo arquivo, similar a um bloco de notas, onde é possível digitar os comandos para execução posterior. A Figura 6 mostra um exemplo. Para executar os comandos, clique no botão Execute(do). O Do-file permite a execução de todos os comandos do arquivo ou de linhas selecionadas. Além disso, é possível inserir comentários entre as linhas de comados, como pode ser visto na figura anterior. Esses comentários aparecem na tela de Resultados, mas não interferem na execução dos comandos. • Um asterisco (*) no início da linha faz com que toda a linha seja um comentário. • Duas barras (//) no final da linha informam que a partir deste ponto, o resto da linha é um comentário • Podem ser colocados comentários também entre os caracteres /* */ 6 Prof. Sandro E. Monsueto UFG/FACE/Nepec www.face.ufg.br/economia Execute(do): Executa a sequência de comandos Figura 6 – Exemplo de Do-file Outra vantagem de se realizar as tarefas com o uso de um Do-file é que os comandos não precisam mais ser necessariamente organizados por linhas, mas por blocos. De forma automática, o Stata reconhece um comando para cada linha do Do-file. No caso do exemplo da Figura 6, são dois comandos, sendo um por linha (linhas 3 e 4). Para organizar os comandos na forma de blocos, pode ser usado o recurso do exemplo da Figura 7: Figura 7 – exemplo de Do-file organizado em blocos Neste caso, após o comando #d; o Stata passa a reconhecer que a linha de comando termina apenas quando aparecer um ponto e vírgula (;). Para voltar à delimitação tradicional, basta usar o comando #d cr. 7 Prof. Sandro E. Monsueto UFG/FACE/Nepec www.face.ufg.br/economia 3. EXTRAÇÃO DE MICRODADOS Depois desta revisão dos principais comandos e uso de comandos com o Do-file, podemos concentrar nosso estudo na extração e análise de microdados da PNAD e do Censo Demográfico. De acordo com o site do IBGE: “Microdados consistem no menor nível de desagregação dos dados de uma pesquisa, retratando, sob a forma de códigos numéricos, o conteúdo dos questionários, preservado o sigilo das informações. Os microdados possibilitam aos usuários, com conhecimento de linguagens de programação ou softwares de cálculo, criar suas próprias tabelas.” Para os objetivos desta apostila, microdados são informações referentes a cada indivíduo ou domicílio entrevistado pelo IBGE em suas pesquisas. Iremos concentrar nossa análise nos microdados da PNAD, mais especificamente a pesquisa do ano de 2008. 3.1. Microdados da Pnad Os microdados da Pnad estão gravados em um arquivo no formato TXT, disponível no sistema de FTP do IBGE: • http://www.ibge.gov.br/home/estatistica/populacao/trabalhoerendimento/pnad2 012/microdados.shtm De tempos em tempos são feitas atualizações para melhorar a projeção da população com base nos censos demográficos. Utilizaremos os dados da atualização de 2013, da Pnad do ano de 2008 (Figura 8): Baixe este arquivo .ZIP Figura 8 – Página do IBGE com os arquivos de microdados da Pnad 8 Prof. Sandro E. Monsueto UFG/FACE/Nepec www.face.ufg.br/economia Após realizar o download, descompacte os arquivos em uma pasta de seu computador, de preferência dentro do drive C para deixar um caminho mais curto na leitura dos dados. O arquivo compactado possui três pastas (dados, dicionário e input), sendo que a primeira contém dois arquivos com os microdados das informações de domicílios (DOM2008.TXT) e um arquivo com os dados das pessoas (PES2008.TXT). Os microdados são organizados em forma de linhas e colunas dentro destes arquivos TXT. Para cada linha temos uma observação e para cada coluna uma variável. Cada coluna tem um tamanho predefinido. Para sabermos onde começa e onde termina cada coluna (variável) é necessário acessar o Dicionário dos dados, disponível em um arquivo no formato Excel dentro da pasta dicionário. A Figura 9 mostra uma parte do dicionário da Pnad de 2008. Tenha sempre a mão este dicionário, tanto para a etapa de extração dos dados como para análises posteriores, pois o mesmo tem o significado dos valores de cada variável, como pode ser visto na última coluna da figura. Figura 9 – Dicionário do arquivo de pessoas da PNAD 2008 9 Prof. Sandro E. Monsueto UFG/FACE/Nepec www.face.ufg.br/economia Por exemplo, para obtermos os dados sobre a idade de cada pessoa entrevistada (variável V8005), devemos observar que sua posição inicial dentro do arquivo é 27 e seu tamanho igual a três. Logo, as informações sobre a idade de cada indivíduo estão contidas numa coluna que vai do campo 27 até o campo 29. Já as informações sobre o gênero do entrevistado (variável V0302) tem posição inicial igual a 18 e tamanho igual a 1. Para realizar a extração destes dados pelo Stata, o comando utilizado é o infix que pode ser utilizado da seguinte maneira: infix [lista de variáveis com suas posições] using “[caminho do arquivo]” onde [lista de variáveis com suas posições] se refere à posição inicial e final de cada variável e [caminho do arquivo] é o local onde o arquivo de dados TXT está guardado. Como exemplo, suponha que desejamos extrair os dados sobre idade de cada entrevistado do arquivo de pessoas. O comando ficaria desta forma: infix idade 27-29 using "C:\Dados\PNAD\PNAD_reponderado_2008\dados\PES2008.txt" Obviamente, mas de uma variável pode ser extraída com a mesma linha de comando, simplesmente separando por espaço a lista das mesmas e suas respectivas posições dentro do dicionário de dados. Para extrair as variáveis idade e sexo, podemos entrar com o comando: infix idade 27-29 sexo 18 using "C:\Dados\PNAD\PNAD_reponderado_2008\dados\PES2008.txt" Apesar do comando infix poder ser utilizado normalmente por meio do campo COMMAND do Stata, é extremamente recomendado o uso de um arquivo Do-file para realizar a extração deste tipo de dados. Além da comodidade de se poder guardar o arquivo de programa para posterior utilização, podem ser inseridos comentários e outros comandos comumente utilizados na extração de microdados. A Figura 10 mostra um exemplo para o filtro das variáveis UF, gênero e idade. Reparem que foram dados três comandos antes da linha de infix. O primeiro comando (clear) limpa a sessão do Stata, apagando qualquer base de dados que esteja previamente carregada. O segundo comando (set more off) impede que a tela do Stata fique travada quando um resultado com muitas linhas é exibido. Por fim, o comando (set memo 300m) fornece mais memória para o Stata conseguir abrir grandes bases de dados, como é o caso da Pnad e do Censo Demográfico4. 4 Este último passo já não é mais necessário a partir da versão 13 do Stata. 10 Prof. Sandro E. Monsueto UFG/FACE/Nepec www.face.ufg.br/economia Figura 10 – Exemplo de uso do comando infix Por fim, é também comum a extração de um número relativamente elevado de variáveis em cada operação de extração. Neste caso, recomenda-se a organização dos comandos em bloco ao invés de um comando por linha, usando a opção #d; conforme explicado anteriormente. A Figura 11 mostra um caso mais completo, onde esta alternativa é usada: Figura 11 – Exemplo de uso do comando infix e #d; Algumas observações gerais podem ser feitas: • Pode-se utilizar o comando compress para reduzir o tamanho dos arquivos. Isso ajuda a consumir menos espaço tanto na memória física como na memória RAM do computador. • A extração dos dados de Domicílio segue a mesma sistemática apresentada. • Tenha em mente que, apesar da estrutura geral ser a mesma, cada ano da Pnad tem um dicionário diferente e as variáveis podem “mudar de lugar”. 4. COMBINAÇÃO DE BASES DE DADOS Uma vez realizada a extração das variáveis, podemos realizar combinações entre bancos de dados de duas formas básicas: • Empilhando dados de Pnads de anos diferentes • Combinando as informações de pessoas e de domicílios. 11 Prof. Sandro E. Monsueto UFG/FACE/Nepec www.face.ufg.br/economia O empilhamento de dados é usado quando temos interesse em combinar no mesmo arquivo dados de Pnads de anos distintos. Isso permite, por exemplo, acompanhar a evolução da escolaridade média ao longo dos anos usando apenas um arquivo. Para realizar essa tarefa, podemos usar o comando append depois de filtrar e salvar os dados de dois ou mais anos. Por exemplo, suponha que desejamos combinar as bases de dados dos anos de 2008 e 2009. Com a base de 2009 aberta, basta usar a seguinte linha de comando, adaptando o caminho do arquivo: append using "C:\Dados\PNAD\base2008.dta" Ainda como exemplo, a Figura 12 mostra a tela de um Do-file que mostra essa operação de modo mais completo. As primeiras linhas são os comandos iniciais (clear, set more off e set memo). São realizados dois filtros, sendo o primeiro para a base de dados de 2008 e o segundo para 2009. Por fim, o comando append faz a unificação das bases de dados. Para conferir o resultado, após a execução deste do-file, execute o comando tab ano. Figura 12 – Exemplo de “empilhamento” de dados da Pnad Já para combinar as informações dos arquivos de pessoas e de domicílios de um mesmo ano, devemos utilizar o comando merge. Suponha que o pesquisador deseje saber se o domicílio de um trabalhador possui água encanada. Podemos unificar esses dados em um mesmo arquivo. Para tanto, é necessário que tanto os dados de pessoas como os de domicílio já tenham sido 12 Prof. Sandro E. Monsueto UFG/FACE/Nepec www.face.ufg.br/economia filtrados em arquivos separados com suas respectivas variáveis. Além disso, é necessário que os dois arquivos possuam ao menos uma variável que seja comum. No caso da Pnad, as duas variáveis que servem de ligação entre os arquivos são o número de controle (v0102) e número de série (v0103). A primeira coisa a fazer, é ordenar os dados da base de dados de domicílio. Para isso, podemos usar a seguintes linhas de comando: use "C:\Dados\PNAD\domicilio.dta", clear sort v0102 v0103 save "C:\Dados\PNAD\domicilio.dta", replace O comando sort faz a ordenação da base de dados de acordo com a lista de variáveis proposta. Em seguida, faça o mesmo com a base de dados de pessoas: use "C:\Dados\PNAD\pessoas.dta", clear sort v0102 v0103 save "C:\Dados\PNAD\pessoas.dta", replace Agora, com esse último banco de dados aberto, fazemos a junção das informações com o comando merge: merge v0102 v0103 using "C:\Dados\PNAD\domicilio.dta" Após isso, é criada uma nova variável chamada _merge. Essa variável assume três valores: _merge=1: observações somente do banco de dados mestre (master data pessoas.dta) _merge=2: observações somente do banco de dados secundário (using data domicilio.dta) _merge=3: observações dos dois bancos (master e using) O melhor dos mundos seria encontrar sempre _merge = 3, ou seja, com informações que existem nos dois bancos de dados. Contudo, para a Pnad e o Censo é normal encontrar informações que pertencem apenas ao banco de dados secundário (domicílio). Essas são observações de domicílios cujas entrevistas não foram realizadas. Portanto, podemos terminar de organizar nossa base de dados entrando com a linha de comando: keep if _merge==3 13 Prof. Sandro E. Monsueto UFG/FACE/Nepec www.face.ufg.br/economia