Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Apostila para uso do Stata, Manuais, Projetos, Pesquisas de Econometria

Apostila desenvolvida pela Universidade Federal de Juiz de Fora para utilização do Stata

Tipologia: Manuais, Projetos, Pesquisas

2020

Compartilhado em 28/08/2020

Karen_Ferla
Karen_Ferla 🇧🇷

3 documentos

1 / 55

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Setembro de 2013
APOSTILA DO MINICURSO
MICRODADOS COM O USO DO STATA
Autores: Igor Vieira Procópio
Ricardo da Silva Freguglia
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37

Pré-visualização parcial do texto

Baixe Apostila para uso do Stata e outras Manuais, Projetos, Pesquisas em PDF para Econometria, somente na Docsity!

Setembro de 2013

APOSTILA DO MINICURSO

MICRODADOS COM O USO DO STATA

Autores: Igor Vieira Procópio

Ricardo da Silva Freguglia

Sumário

  • 1 – Introdução
  • 2 – Iniciação ao Stata............................................................................................................................... - 2.1 – Interface do Stata
    • 2.2 – Do-file
    • 2.3 – Log-Files
  • 3 – Visualizar Microdados no Stata
  • 4 - Operações básicas no Stata..............................................................................................................
    • 4.1 – Excluir variáveis e observações
    • 4.2 – Renomear variáveis
    • 4.3 – Legenda e Rótulos de Variáveis
    • 4.4 – Transformar variáveis do formato texto para o formato numérico.........................................
    • 4.5 – Alterar valores de variáveis
    • 4.6 – Criar novas variáveis
  • 5 – Estatísticas Descritivas.....................................................................................................................
    • 5.1 – Estatísticas Descritivas para Variáveis Discretas
    • 5.2 - Estatísticas Descritivas para Variáveis Contínuas......................................................................
    • 5.3 – Estatísticas Descritivas para Variáveis Categóricas e Contínuas
  • 6 - Transformar Microdados em Dados Agregados.
  • 7 – Combinar diversos bancos de dados.
    • 7.1 – Adicionar observações ao banco de dados
    • 7.2 – Adicionar novas variáveis ao banco de dados.
  • 8 – Uma aplicação à PNAD

2 – Iniciação ao Stata

O Stata é um pacote estatístico/econométrico, capaz de lidar com grandes bases de dados, cujos comandos baseiam-se em princípios de programação. Com o Stata o pesquisador é capaz de manipular, processar e analisar dados além de produzir gráficos de qualidade para publicações em relatórios ou trabalhos científicos/acadêmicos. A familiaridade com a linguagem é relativamente simples, podendo ser adquirida a partir da prática constante dos comandos

O Stata utiliza linguagem de programação para a aplicação de seus comandos, no entanto, existe uma gama de comandos pré-programados disponíveis ao usuário através da barra de Menu. Vamos ver nesta seção as principais janelas utilizadas no Stata e dois tipos específico de arquivos ( do-file e log-file ).

2.1 – Interface do Stata

Quando se inicia o Stata pela primeira vez, visualiza-se cinco janelas no programa, conforme imagem em Figura 1.

Figura 1 – Tela inicial do Stata

A janela denominada Command é o local para a digitação dos comandos. A janela maior, logo acima da janela Command é a janela onde os resultados dos comandos serão apresentados. Esta janela é denominada Results. Todos os comandos utilizados serão armazenados na janela Review à esquerda da janela Results , então é possível acompanhar os comandos utilizados e reutilizar um comando facilmente apenas clicando em cima do comando já utilizado. No lado direito e no alto está a janela Variables com a lista das variáveis contidas no banco de dados que estiver carregado. Por fim, no lado direito na parte baixa visualiza-se a janela Properties onde aparecem algumas propriedades das variáveis do banco de dados.

É possível alterar o tamanho e posição das janelas ou fechar algumas destas janelas. Também é possível alterar o esquema de cores, utilizando esquemas pré-definidos ou definindo outro de acordo com suas preferências. Para realizar estas alterações, utilize a barra de Menu e vá em: Edit > Preferences > General Preferences.

Além destas janelas apresentadas na inicialização do Stata, destacamos mais duas. A janela Data Editor , onde o banco de dados é exibido em forma de uma planilha, e a janela Do-file Editor. A janela Data Editor será apresentada na próxima seção. Para entender a janela Do-file Editor , é preciso conhecer o que é um Do-file no Stata. A próxima subseção é dedicada à apresentação do Do-file e suas funcionalidades.

2.2 – Do-file

O Do-file é um arquivo de texto onde os comandos do Stata podem ser digitados e armazenados. O Do-file Editor é um editor de texto associado ao Stata útil na geração e manipulação dos Do-files. O Do-file é uma alternativa ao uso interativo via digitação dos comandos na janela C ommand com imediata visualização. Existem algumas vantagens associadas ao uso do Do-file. Uma das principais vantagens de se utilizar um Do-file é a facilidade de reprodução de seu trabalho posteriormente. Outra vantagem é que caso se perceba algum erro nos comandos ou no banco de dados, basta corrigir o erro e executar o Do-file novamente.

O Do-file Editor pode ser acessado digitando doedit na janela de comandos ou via barra de Menu, conforme ilustrado na Figura 2.

Figura 2 – Barra de Menu do Stata

Se o log-file for aberto via barra de Menu, cuidado para o tipo de arquivo que o log será salvo. Existem dois tipos, o .log e o .smcl. A terminação .log grava um arquivo em txt e tem a vantagem de poder ser visualizada em qualquer editor de texto. Já a terminação .smcl é um arquivo do Stata, e portanto, só pode ser visualizada através do Stata.

Uma última observação a ser feita nesta subseção é em relação ao diretório onde o log- file será salvo. Notem que na parte inferior da janela do Stata existe um endereço. Pode-se digitar o comando pwd na janela de comandos para visualizar o diretório corrente. Caso não se especifique um endereço no comando para iniciar o log-file, o arquivo será salvo no diretório que estiver especificado no Stata, normalmente a pasta do próprio programa. É interessante que se mude o diretório para seu diretório de trabalho. Pode-se alterar o endereço via barra de Menu, File > Change Working Directory ... Ou digitar o seguinte comando na janela de comandos.

cd “drive://working directory”

onde “drive://working directory” representa o endereço de seu diretório de trabalho.

É interessante e recomendável digitar o comando para alterar o diretório no início de seu do-file.

3 – Visualizar Microdados no Stata

Nesta seção veremos como abrir um banco de dados no Stata e algumas formas de visualizar e descrever os dados. Para abrir um banco de dados no Stata, é preciso ter um banco de dados no formato .dta ou executar algum procedimento de importação de dados de outros formatos. Também é possível imputar seus dados diretamente no Stata.

Neste curso não veremos os procedimentos de importação de dados. Iremos assumir que os usuários já possuem seus bancos de dados no formato do Stata. No entanto, para fins didáticos, vamos usar ao longo do curso um banco de dados hipotético que iremos imputar diretamente no Stata, vamos dar a esse banco de dados o nome de “banco 1”. Mas não entraremos em detalhes do processo de imputação, o procedimento de imputação será dado e apenas iremos replicá-lo.

A maneira mais simples de abrir um banco de dados no Stata é através da barra de Menu File > Open e localizar o arquivo que se deseja abrir. Ou digitar diretamente na janela Command o seguinte comando:

use mydata.dta

Um banco de dados no Stata aparece no formato spreadsheet , formato padrão da maioria dos softwares, inclusive o Excel. Neste formato as colunas representam variáveis enquanto que as linhas representam observações.

Para imputar o banco de dados “banco 1” copie e cole a programação abaixo em um Do-file e execute todas as linhas de comando clicando no botão Execute(do) da barra de Menu do Do-file Editor apresentado na Figura 3.

clear input str2 var1 str4 var2 str4 var3 var4 var5 var6 var7 str6 var8 var9 var10 str8 var11 var12 var

var1 var2 var3 var4 var5 var6 var7 var8 var9 var10 var11 var12 var

"MG" "521" "n/d" 1 15 15 15 "B" 99 1 "R$ 45,35" 5 132132136 "MG" "123" "1360" 1 51 51 51 "BRANCO" 2 0 "R$ 54,94" 8 13549687808 "MG" "150" "543" 2 32 32 32 "PARDO" 3 0 "R$ 87,24" 4 13549576192 "MG" "1200" "1200" 2 41 41 41 "NEGRO" 1 1 "R$ 12,32" 15 1234968448 "MG" "410" "1590" 2 20 20 20 "NEGRO" 2 99 "R$ 45,36" 6 1354654976 "MG" "851" "2806" 1 13 13 13 "PARDO" 4. "R$ 68,97" 8 13216546 "SP" "1250" "*" 2 50 50 50 "BRANCO" 2 0 "R$ 84,58" 12 16549879808 "SP" "360" "1503" 2 33 33 33 "BRANCO" 3 1 "R$ 61,95" 4 13216549888 "SP" "200" "2126" 1 18 18 18 "PARDO" 2 1 "R$ 74,21" 4 132465496 "SP" "980" "3809" 2 74 74 74 "NEGRO" 6 0 "R$ 46,26" 8 123465752 "SP" "783" "0904" 1 13 13 13 "PARDO" 3. "R$ 65,94" 7 45613551616 "RJ" "160" "843" 2 50 50 50 "BRANCO" 99 0 "R$ 41,30" 1 16357494784 "RJ" "600" "2303" 2 64 64 64 "NEGRO" 4 1 "R$ 21,23" 4 16549874688 "RJ" "501" "5816" 1 37 37 37 "PARDO" 2 3 "R$ 15,60" 6 8822888448 "RJ" "203" "2089" 2 28 28 28 "BRANCO" 3 1 "R$ 34,18" 0 135246544 end

Após rodar as linhas de comando acima, a janela Variables que estava vazia passa a conter as informações das variáveis do banco de dados, conforme pode ser visualizado na Figura 4. Notem que aparecem apenas os nomes das variáveis, var1 a var11 e nenhuma informação na coluna label. Veremos mais a frente como adicionar labels às variáveis.

Figura 4 – Janela de Variáveis

Existem algumas formas de visualizar o banco de dados no Stata. Veremos primeiro o comando list. Este comando lista as variáveis e observações do banco de dados na janela Results. Caso o banco de dados contenha muitas observações e/ou variáveis, o comando list

Exemplo 3 : Listar as observações de 5 a 10 das variáveis var1 , var3 e var.

list var1 var3 var7 in 5/ +--------------------+

var1 var3 var7
  1. | MG 1590 20 |
  2. | MG 2806 13 |
  3. | SP * 50 |
  4. | SP 1503 33 |
  5. SP 2126 18
  6. | SP 3809 74 | +--------------------+

Outro comando que pode ser usado para visualizar os dados é comando describe, que apresenta algumas informações sobre o banco de dados e sobre cada uma das variáveis. Sobre o banco de dados apresenta informação sobre o número de observações, o número de variáveis e o tamanho ocupado em disco rígido. Logo após vem um quadro com a listagem de todas as variáveis com informações do tipo, do formato e dos labels de cada uma delas. Ao final do quadro aparece a informação se o banco está ordenado por alguma variável e se ele foi modificado depois da última alteração.

Exemplo 4 : Utilizar o comando describe para descrever o “banco 1”.

describe

Contains data obs: 15 vars: 13 size: 840




storage display value variable name type format label variable label




var1 str2 %9s var2 str4 %9s var3 str4 %9s var4 float %9.0g var5 float %9.0g var6 float %9.0g var7 float %9.0g var8 str6 %9s var9 float %9.0g var10 float %9.0g var11 str8 %9s var12 float %9.0g var13 float %9.0g




Sorted by: Note: dataset has changed since last saved

O comando também pode ser utilizado em uma forma resumida, listando apenas as informações do banco de dados. Para isso, basta acrescentar a opção sh ao final do comando.

Exemplo 5 : Descrever resumidamente o “banco 1” utilizando a opção short do comando describe.

describe, sh

Contains data obs: 15 vars: 13 size: 840 Sorted by: Note: dataset has changed since last saved

A

lém dos dois comandos supracitados, outro comando que pode ser usado para visualizar informações resumidas do banco de dados é o comando summarize. Em sua forma mais simples o comando reporta o número de observações de cada variável, seu valor médio, desvio padrão, máximo e mínimo. Como pode ser visto abaixo, este comando só reporta informações para variáveis numéricas. As variáveis texto (var1, var2, var3, var8 e var11) aparecem como tendo 0 observações, apesar de existirem informações para elas no banco de dados. Outra observação que merece ser mencionada é que as observações missing não consideradas para o cálculo das estatísticas deste comando. Notem que variável var10 aparece apenas com 13 observações. Isto ocorre porque 2 de suas observações são missing.

Exemplo 6 : Apresentar uma tabela resumo das variáveis do “banco 1” utilizando o comando summarize.

summarize Variable | Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------- var1 | 0 var2 | 0 var3 | 0 var4 | 15 1.6 .5070926 1 2 var5 | 15 35.93333 18.97166 13 74 -------------+-------------------------------------------------------- var6 | 15 35.93333 18.97166 13 74 var7 | 15 35.93333 18.97166 13 74 var8 | 0 var9 | 15 15.66667 33.85403 1 99 var10 | 13 8.307692 27.26226 0 99 -------------+-------------------------------------------------------- var11 | 0 var12 | 15 6.133333 3.852025 0 15 var13 | 15 9.82e+09 1.22e+10 1.32e+07 4.56e+

keep varname1 varname2 varname3 varname

É preciso ter cuidado com o uso destes comandos, pois uma vez excluídas as variáveis, não é possível reverter o processo. Uma dica é sempre ter um banco de dados completo salvo e trabalhar em um banco salvo com outro nome.

Para excluir observações do banco de dados utiliza-se o drop if ou keep if. Da mesma maneira do que ocorre para excluir variáveis, o drop if apaga as observações enquanto que o keep if mantém as observações. É preciso especificar uma regra para determinar quais observações serão apagadas. Por exemplo, especificar que se quer excluir todas as pessoas com menos de 18 anos, ou excluir todas as observações de um município específico ou ainda manter todas as observações de um estado. A sintaxe básica do comando é a seguinte:

drop if varname [rule]

keep if varname [rule]

O Quadro 1 mostra os operadores lógicos utilizados pelo Stata e seus significados. Estes operadores devem ser utilizados com o condicional if para formar as regras utilizadas para apagar observações. Como veremos mais adiante na apostila, estes operadores poderão ser utilizados juntamente com os comandos que aprenderemos.

Quadro 1 – Operadores Lógicos Operadores Significado < menor que <= menor ou igual a

maior que = maior ou igual a == igual a ~= ou != diferente de ~ não & e | ou

4.2 – Renomear variáveis

Para renomear variáveis utiliza-se o comando rename. Este comando utiliza a seguinte sintaxe:

rename old_varname new_varname

onde:

old_varname representa o nome atual da variável e new_varname representa o nome que se quer modificar.

Exemplo 7 : Modificar o nome da variável var1 para renda

ren var1 uf

Também é possível renomear o nome de um grupo de variáveis com um único comando, utilizando a seguinte sintaxe:

rename (old_varname1 old_varname2 old_varname3 …) (new_varname new_varname2 new_varname3 …)

Exemplo 8 : Modificar o nome das variáveis var1 var2 var3 para renda idade uf.

ren (var2 var3 var4 var5 var6 var7 var8 var9 var10 var11 var12 var13) (renda renda_2 genero idade idade1 idade2 raca componentes rm luz educ pib)

4.3 – Legenda e Rótulos de Variáveis

Para melhorar a aparência e facilitar o uso do banco de dados é útil acrescentar uma legenda às variáveis do banco. A Figura 6 apresenta a janela Variables do Stata apenas com uma variável ( renda ).

Figura 6 – Janela Variables – Variável renda

Vamos agora acrescentar uma legenda ( label) a esta variável. O comando para esta tarefa é label variable que apresenta a seguinte sintaxe:

label variable varname “label”

Exemplo 9 : Acrescentar uma legenda à variável renda indicando que esta renda se refere à renda do trabalho.

label variable renda "Renda do Trabalho"

A janela Variables passa a conter a legenda da variável renda , conforme Figura 7.

2ª etapa: atribuir o rótulo a uma variável

label values varlist [lblname]

onde varlist é o nome da variável que se quer atribuir o rótulo.

Exemplo 10 : Vamos atribuir um rótulo para a variável genero com as categorias conforme mencionado acima, ou seja, o valor 1 representa os homens e o valor 2 as mulheres. Vamos chamar o rótulo de gen :

1ª etapa: definição do rótulo

label define gen 1 "Homem" 2 "Mulher"

2ª etapa: atribuir o rótulo a variável:

label values genero gen

Exemplo 10a : Atribuir um rótulo à variável rm (Região Metropolitana). O Valor 0 indica que a pessoa não reside em Região Metropolitana e o valor 1 indica que ela reside.

label define metro 0 "Região Não Metropolitana" 1 "Região Metropolitana" label values rm metro

4.4 – Transformar variáveis do formato texto para o formato numérico

Em alguns casos determinada variável pode apresentar formato texto mesmo sendo composta por valores numéricos. Quando a variável possuir formato texto, não é possível efetuar nenhuma operação matemática na variável. Em função disto muitas vezes é necessário transformar a variável para o formato numérico.

Neste curso vamos mostrar três possíveis casos em que este problema pode aparecer. No primeiro caso todas as observações da variável são números, e por algum problema de imputação ou importação dos dados eles aparecem como formato texto. No segundo caso, algumas das observações não são números, ou apresentam um erro na variável com um caractere indicando o erro ou a informação não existe para aquela observação. No terceiro caso, a informação representa um valor monetário e começa com R$.

O comando básico para transformar uma variável texto em numérica é o destring. Quando se utiliza este comando é necessário indicar se a intenção é substituir a variável já existente ou criar uma nova variável. Vamos ver como resolver cada um dos casos supracitados.

1º caso: Todas as observações possuem valores numéricos

destring varname, replace

ou

destring varname, gen(newvar)

2º caso: algumas observações aparecem com caracteres não numéricos

Neste caso, as observações que aparecerem com caracteres não numéricos representam ausência de informação para a respectiva observação. Portanto, iremos transformá-la em missing. Basta acrescentar a opção force no comando, conforme sintaxe abaixo:

destring varname, replace force

ou

destring varname, gen(newvar) force

3º caso: retirar parte da informação da variável, que aparece em caracteres não numéricos.

destring varname, replace ignore(“chars”)

ou

destring varname, gen(newvar) ignore(“chars”)

Observação : o Stata trabalha com o formato Americano de números, ou seja, o ponto separa as casas decimais e a vírgula separa os milhares. Se os dados estiverem no formato utilizado no Brasil, o inverso do formato Americano, o Stata não reconhecerá seus dados como sendo numéricos e consequentemente não vai fazer a conversão de texto para números. Para solucionar esta questão acrescente a opção dpcomma ao final do comando. Alertamos para o fato que esta opção só funciona quando se quer substituir os valores da própria variável, não funcionando para criar nova variável.

Exemplo 11 : A variável renda no banco de dados está em formato texto, apesar de ter todos os seus caracteres numéricos. Esta a forma mais simples de utilizar o comando destring. Vamos utilizá-lo de duas maneirais; i) criando uma nova variável; e ii) substituindo o formato na própria variável.

destring renda, gen(renda1)

destring renda, replace

replace componentes =. if componentes == 99

Exemplo 15 : A primeira observação da variável raca possui apenas a letra B como informação. Esta letra indica a raça Branco, no entanto, para padronizar as informações da variável, substituiremos a letra B pela palavra BRANCO utilizando o comando abaixo:

replace raca = "BRANCO" if raca == "B"

Exemplo 16 : Podemos usar o comando replace para transformar uma variável contínua em uma variável categórica. Imagine que precisemos transformar a variável de idade em uma variável representado alguns grupos de idade. Quem tiver 18 anos ou menos de idade irá participar do grupo 1, quem tiver entre 19 e 30 (inclusive) faz parte do grupo 2, entre 31 e 50 (inclusive) grupo3, entre 51 e 65 (inclusive) grupo 4 e mais de 65 grupo 5. Para isso utilizaremos cinco linhas de comando conforme abaixo:

replace idade2 = 1 if idade2 >=0 & idade2 <= 18 replace idade2 = 2 if idade2 >=19 & idade2 <= 30 replace idade2 = 3 if idade2 >=31 & idade2 <= 50 replace idade2 = 4 if idade2 >=51 & idade2 <= 65 replace idade2 = 5 if idade2 >=

O comando recode também pode ser usado para alterar valores de variáveis, no entanto, este comando só pode ser aplicado em variáveis numéricas. Este comando altera os valores de uma variável apenas em uma linha de comando de acordo com uma regra especificada.

recode varname (rule)

Exemplo 17 : A variável rm (Região Metropolitana) deveria possuir apenas os códigos 0 e 1, indicando se o indivíduo vive em uma Região Metropolitana ou não. No entanto, a variável possui uma observação com o código 3 e uma com o código 99. Estes valores indicam erro na resposta da variável, e devem ser substituídos por missing.

recode rm (3 99 = .)

Exemplo 18 : Repetir o exemplo 16 do comando replace. Com o comando recode , é possível fazer o mesmo que foi feito com o comando replace em apenas uma linha de comando. Como a variável idade já foi modificada, realize o procedimento na variável idade

recode idade1 (0/18 = 1) (19/30 = 2) (31/50 = 3) (51/65 = 4) (66/max = 5)

4.6 – Criar novas variáveis

Mostraremos três comandos para criar variáveis; generate , egen e recode. O comando generate pode ser usado para se criar uma variável constante ou uma variável que é uma função de outras variáveis já existentes no banco de dados. A sintaxe do comando é a que se segue:

generate newvar = exp

onde exp representa uma expressão ou função que define a nova variável.

O Quadro 2 apresenta algumas funções que podem ser utilizadas com o comando generate.

Quadro 2 – Operadores Algébricos e Funções Simples Operador Significado

  • Soma
  • subtração
  • Multiplicação / Divisão ^ elevado à potência sqrt( ) função raiz quadrada exp( ) função exponencial log10( ) função logarítmica (base 10) ln( ) função logarítmica (base e) - logaritmo natural

Exemplo 19 : Utilizando as variáveis já existentes no banco de dados, vamos criar uma variável que representa a idade ao quadrado, outra que representa o logaritmo da renda (natural e na base 10) e uma variável de renda per capita que combina informações da renda da família e do número de componentes da família.

  • Idade ao quadrado gen ida2 = idade^
  • Logaritmo gen lnrenda = ln(renda) gen logrenda = log10(renda)
  • Renda per capita gen per_capita = renda_2 / componentes

O comando egen também é utilizado para criar novas variáveis. No entanto, a lista de funções que o comando utiliza é diferente das funções para o comando generate. Para ver a