Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila Microdados Com o Uso Do Stata Econs2013
Apostila Microdados Com o Uso Do Stata Econs2013
Setembro de 2013
Sumário
1 – Introdução ......................................................................................................................................... 2
2 – Iniciação ao Stata............................................................................................................................... 3
2.1 – Interface do Stata ...................................................................................................................... 3
2.2 – Do-file ......................................................................................................................................... 4
2.3 – Log-Files ...................................................................................................................................... 5
3 – Visualizar Microdados no Stata ......................................................................................................... 6
4 - Operações básicas no Stata.............................................................................................................. 11
4.1 – Excluir variáveis e observações ................................................................................................ 11
4.2 – Renomear variáveis .................................................................................................................. 12
4.3 – Legenda e Rótulos de Variáveis ................................................................................................ 13
4.4 – Transformar variáveis do formato texto para o formato numérico......................................... 15
4.5 – Alterar valores de variáveis ...................................................................................................... 17
4.6 – Criar novas variáveis ................................................................................................................. 19
5 – Estatísticas Descritivas..................................................................................................................... 21
5.1 – Estatísticas Descritivas para Variáveis Discretas ...................................................................... 22
5.2 - Estatísticas Descritivas para Variáveis Contínuas...................................................................... 28
5.3 – Estatísticas Descritivas para Variáveis Categóricas e Contínuas .............................................. 32
6 - Transformar Microdados em Dados Agregados. ............................................................................. 34
7 – Combinar diversos bancos de dados. .............................................................................................. 36
7.1 – Adicionar observações ao banco de dados .............................................................................. 38
7.2 – Adicionar novas variáveis ao banco de dados. ......................................................................... 42
8 – Uma aplicação à PNAD .................................................................................................................... 46
1
1 – Introdução
Esta apostila está dividida da seguinte forma. Além desta breve introdução, a seção
dois apresenta uma introdução ao Stata, explicando o que é o Stata e qual a função de suas
principais janelas. Na seção três mostra-se como carregar e visualizar microdados no Stata.
Na quarta seção veremos algumas operações básicas no Stata para manipulação do banco de
dados. A quinta seção é dedicada à elaboração de estatísticas descritivas. Na seção seis é
apresentado o processo de transformação dos microdados em dados agregados e na seção sete
como adicionar observações e variáveis em um banco de dados. Por fim, na seção oito, os
conhecimentos aprendidos nas seções anteriores serão aplicados em um banco de dados real,
utilizaremos a PNAD 2009 como exemplo.
1
Para entender os microdados, em geral são fornecidos os dicionários dos dados e os questionários aplicados.
Para uma informação concisa sobre alguns dos principais microdados socioeconômicos usados, acesse
http://www.ufjf.br/econs/downloads/apresentacoes/.
2
Para acessar dicionários de dados e questionários de alguns dos principais microdados socioeconômicos, acesse
o Portal ECONSdata no link a seguir: http://www.ufjf.br/econs/banco-de-dados/.
2
2 – Iniciação ao Stata
Quando se inicia o Stata pela primeira vez, visualiza-se cinco janelas no programa,
conforme imagem em Figura 1.
3
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.
2.2 – Do-file
O Do-file Editor pode ser acessado digitando doedit na janela de comandos ou via
barra de Menu, conforme ilustrado na Figura 2.
4
A Figura 3 apresenta a janela do Do-file Editor. Cada linha do Do-file representa um
comando. Para executar um comando específico, selecione a linha desejada e clique no botão
Execute(do) destacado na figura 2, ou utilize a tecla de atalho Ctrl+D.
2.3 – Log-Files
Outro arquivo do Stata que merece destaque é o Log-file. Quando se inicia um log-file
no Stata, tudo que aparecer na janela de resultados será armazenado neste arquivo, seja
comando ou resultado. A principal função de um log-file é armazenar os resultados do
trabalho executado. A janela de resultados tem duas limitações no que diz respeito a salvar os
resultados do trabalho. Primeira, sempre que se fecha o Stata, tudo que estiver na janela
resultados será perdido. Outra limitação é que a janela de resultados armazena apenas um
número determinado de linhas, se o trabalho tiver mais linhas do que a janela suporta, parte
dos resultados será perdida.
Também pode-se abrir um log-file pela barra de Menu. File > Log > Begin. Após
iniciado um log-file, tudo que aparecer na janela de resultados será gravado no log até que se
feche o log-file. Para fechar um log-file digite log close na janela de resultados.
5
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”
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.
use mydata.dta
6
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 var13
var1 var2 var3 var4 var5 var6 var7 var8 var9 var10 var11 var12 var13
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.
7
pode não ser a forma mais adequada de visualizar os dados, no entanto, ainda assim o
comando pode ser usado para visualizar parte dos dados. Digite list na janela de comandos.
list
+------------------------------------------------------------------------------------------------------+
| var1 var2 var3 var4 var5 var6 var7 var8 var9 var10 var11 var12 var13 |
|------------------------------------------------------------------------------------------------------|
1. | MG 521 n/d 1 15 15 15 B 99 1 R$ 45,35 5 1.32e+08 |
2. | MG 123 1360 1 51 51 51 BRANCO 2 0 R$ 54,94 8 1.35e+10 |
3. | MG 150 543 2 32 32 32 PARDO 3 0 R$ 87,24 4 1.35e+10 |
4. | MG 1200 1200 2 41 41 41 NEGRO 1 1 R$ 12,32 15 1.23e+09 |
5. | MG 410 1590 2 20 20 20 NEGRO 2 99 R$ 45,36 6 1.35e+09 |
|------------------------------------------------------------------------------------------------------|
6. | MG 851 2806 1 13 13 13 PARDO 4 . R$ 68,97 8 1.32e+07 |
7. | SP 1250 * 2 50 50 50 BRANCO 2 0 R$ 84,58 12 1.65e+10 |
8. | SP 360 1503 2 33 33 33 BRANCO 3 1 R$ 61,95 4 1.32e+10 |
9. | SP 200 2126 1 18 18 18 PARDO 2 1 R$ 74,21 4 1.32e+08 |
10. | SP 980 3809 2 74 74 74 NEGRO 6 0 R$ 46,26 8 1.23e+08 |
|------------------------------------------------------------------------------------------------------|
11. | SP 783 0904 1 13 13 13 PARDO 3 . R$ 65,94 7 4.56e+10 |
12. | RJ 160 843 2 50 50 50 BRANCO 99 0 R$ 41,30 1 1.64e+10 |
13. | RJ 600 2303 2 64 64 64 NEGRO 4 1 R$ 21,23 4 1.65e+10 |
14. | RJ 501 5816 1 37 37 37 PARDO 2 3 R$ 15,60 6 8.82e+09 |
15. | RJ 203 2089 2 28 28 28 BRANCO 3 1 R$ 34,18 0 1.35e+08 |
+------------------------------------------------------------------------------------------------------+
Caso o objetivo seja visualizar apenas uma parte das observações, basta especificar um
range para as observações. Veja o exemplo a seguir:
list in 1/5
+------------------------------------------------------------------------------------------------------+
| var1 var2 var3 var4 var5 var6 var7 var8 var9 var10 var11 var12 var13 |
|------------------------------------------------------------------------------------------------------|
1. | MG 521 n/d 1 15 15 15 B 99 1 R$ 45,35 5 1.32e+08 |
2. | MG 123 1360 1 51 51 51 BRANCO 2 0 R$ 54,94 8 1.35e+10 |
3. | MG 150 543 2 32 32 32 PARDO 3 0 R$ 87,24 4 1.35e+10 |
4. | MG 1200 1200 2 41 41 41 NEGRO 1 1 R$ 12,32 15 1.23e+09 |
5. | MG 410 1590 2 20 20 20 NEGRO 2 99 R$ 45,36 6 1.35e+09 |
+------------------------------------------------------------------------------------------------------+
8
Exemplo 3: Listar as observações de 5 a 10 das variáveis var1, var3 e var7.
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.
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
9
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.
Contains data
obs: 15
vars: 13
size: 840
Sorted by:
Note: dataset has changed since last saved
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+10
10
Também é possível visualizar o banco de dados diretamente na forma de planilha. Para
isso pode-se usar o comando edit ou browse. Os dois comandos abrem uma nova janela
contendo os dados em forma de planilha. A diferença entre os dois é que o comando edit
permite que você altere ou acrescente informações diretamente digitando nas células da
planilha. Já o comando browse só permite a visualização dos dados. A Figura 5 apresenta o
banco de dados no formato de planilha, visualizado na janela Data Editor. As variáveis que
aparecem em vermelho são variáveis no formato texto, enquanto as variáveis em pretos são
variáveis no formato numérico.
Existem duas formas de excluir variáveis do banco de dados. Pode-se especificar quais
variáveis se quer excluir do banco ou especificar quais variáveis se quer manter no banco de
dados. Para o primeiro caso utiliza-se o comando drop e para o segundo caso utiliza-se o
comando keep. A sintaxe do comando é simples, basta digitar o comando e especificar as
variáveis.
11
keep varname1 varname2 varname3 varname4
É 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:
Para renomear variáveis utiliza-se o comando rename. Este comando utiliza a seguinte
sintaxe:
onde:
ren var1 uf
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)
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).
Vamos agora acrescentar uma legenda (label) a esta variável. O comando para esta
tarefa é label variable que apresenta a seguinte sintaxe:
Exemplo 9: Acrescentar uma legenda à variável renda indicando que esta renda se refere à
renda do trabalho.
13
Figura 7 - Janela Variables – Variável renda com label
onde lblname representa o nome do rótulo a ser criado, # indica o valor da categoria e
“label” é a descrição do rótulo.
3
É útil utilizar ao final do processo de elaboração dos rótulos o comando numlabel, add que adiciona aos
rótulos o valor de cada categoria, com isso, é possível visualizar facilmente os rótulos e valores das categorias.
14
2ª etapa: atribuir o rótulo a uma variável
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:
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.
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$.
15
1º caso: Todas as observações possuem valores numéricos
ou
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:
ou
3º caso: retirar parte da informação da variável, que aparece em caracteres não numéricos.
ou
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.
16
Exemplo 12: A variável renda_2 possui algumas observações com caracteres não numéricos.
No entanto, estes caracteres indicam que a pessoa não tem informação para esta variável,
portanto, deve ser transformada em missing. Se o comando for utilizado conforme exemplo
acima, o Stata retornará uma informação de erro “renda_2 contains nonnumeric characters;
no replace”. Se acrescentarmos a opção force as observações com caracteres não numéricos
serão transformadas em missing.
Exemplo 13: A variável luz que representa o valor pago na conta de luz começa com “R$”.
Se tentarmos utilizar o comando destring como no exemplo 1, o Stata retornará a mensagem
que não a variável possui caracteres não numéricos, e não irá alterar a variável. Se tentarmos
utilizar a opção force, como existem caracteres não numéricos em todas as observações, todas
serão transformadas em missing. Para retirar o “R$” e manter corretamente os valores
numéricos, utiliza-se o opção ignore(“R$”). No nosso exemplo, além deste problema, a
variável não está no formato Americano, ou seja, a separação de casa decimal está com
vírgula, portanto vamos acrescentar a opção dpcomma ao final do comando.
Neste curso iremos ver dois comandos para alterar valores das variáveis já existentes
no banco de dados, replace e recode. O replace altera os valores de qualquer tipo de variável
já existente, texto ou numérica, enquanto que o recode é aplicável somente a variáveis
numéricas.
onde newvalue indica o valor ou informação novo, enquanto que oldvalue representa o valor
que se quer substituir. Quando a variável estiver em formato texto, as expressões newvalue e
oldvalue deverão estar entre aspas.
Exemplo 14: A variável componentes possui informações com o valor 99. No entanto, este
valor indica que esta informação não foi preenchida para a respectiva observação. Para evitar
problemas com o uso deste valor de forma desavisada, vamos substituir este valor por
missing.
17
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:
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:
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 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 idade1
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:
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.
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^2
- Logaritmo
gen lnrenda = ln(renda)
gen logrenda = log10(renda)
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
19
lista completa de funções digite help egen na janela de comandos. A sintaxe do comando é
semelhante à do comando generate.
Exemplo 20: Criar uma variável constante com a renda máxima da população e outra variável
com a renda máxima por raça do indivíduo.
O comando recode que foi visto para substituir os valores de uma determinada
variável, também pode ser usado para criar novas variáveis. Para isso, é preciso apenas
acrescentar a opção gen ao final do comando.
Exemplo 21: Criar uma nova variável representando 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.
Vamos agora dar destaque para a criação de variáveis dummies5. Existem algumas
maneiras de criar uma variável dummy. Pode-se usar os comandos gen e recode já vistos,
pode-se também utilizar o comando gen de uma forma um pouco diferente e uma forma
prática é o uso do comando tab com a opção gen. Vejamos uma de cada vez com o uso de
exemplos.
Exemplo 22: Criar dummies de gênero usando o comando gen conforme já vimos
anteriormente. Vamos criar duas variáveis, uma para indicar se a pessoa é do sexo masculino
e outra para indicar que a pessoa é do sexo feminino.
4
Diversos comandos podem ser utilizados com o prefixo by, que faz com que o comando seja executado
separadamente para cada subgrupo da variável especificada logo após o prefixo by.
5
Uma variável dummy é uma variável binária, onde o valor 1 indica que a observação pertence à determinado
grupo e o valor 0 indica que a observação não pertence.
20
gen masc = 1 if genero == 1
replace masc = 0 if masc ==.
Exemplo 23: Criar uma variável para indicar se o individuo é do sexo masculino com o uso
do comando recode.
Exemplo 24: Usar o comando gen para criar uma variável indicando se a pessoa tem mais de
20 anos.
gen adulto=idade>=20
Este comando cria a variável adulto, contendo o valor 1 caso a pessoa tenha 20 anos ou mais
de idade e 0 caso contrário.
Exemplo 25: Utilizar o comando tab com a opção gen para criar uma dummy para cada
categoria das variáveis genero e raca. Renomear as variáveis draca1, draca2 e draca3 para
branco, negro e pardo, respectivamente.
5 – Estatísticas Descritivas
21
5.1 – Estatísticas Descritivas para Variáveis Discretas
O primeiro comando que vamos ver é o tabulate que produz uma tabela de frequências
simples das variáveis.
tabulate varname
Exemplo 26: Vamos fazer uma tabela de frequência simples para a variável rm (Indicadora de
Região Metropolitana). Após executar o comando, aparecerá na janela Results uma tabela
conforme a tabela abaixo, com informações sobre a frequência e o percentual de cada
categoria e o percentual acumulado, além da frequência total.
tab rm
Indicador de Região |
Metropolitana | Freq. Percent Cum.
-------------------------+-----------------------------------
Região Não Metropolitana | 5 45.45 45.45
Região Metropolitana | 6 54.55 100.00
-------------------------+-----------------------------------
Total | 11 100.00
A tabela apresenta a frequência total, relativa e acumulada para cada categoria e a frequência
total de todas as categorias. Notem que a frequência total tem um valor de 11 e o nosso banco
de dados tem um total de 15 observações. Isto ocorre porque esta variável tem 4 observações
com ausência de informação (missing). Portanto, as frequências relativas são calculadas em
relação ao total de observações com informação completa. Se a intenção for calcular as
frequências relativas em relação ao total de observações do banco de dados e/ou calcular a
frequência de observações com informação faltante, acrescenta-se a opção missing (ou apenas
m) ao final do comando.
Exemplo 27: Repetir o exemplo 26 acrescentando os valores missing com sendo uma
categoria.
tab rm,m
Indicador de Região |
Metropolitana | Freq. Percent Cum.
-------------------------+-----------------------------------
Região Não Metropolitana | 5 33.33 33.33
Região Metropolitana | 6 40.00 73.33
. | 4 26.67 100.00
-------------------------+-----------------------------------
Total | 15 100.00
Para criar tabelas para várias variáveis em um único comando utiliza-se o comando
tab1.
tab1 rm raca
-> tabulation of rm
Indicador de Região |
Metropolitana | Freq. Percent Cum.
-------------------------+-----------------------------------
Região Não Metropolitana | 5 45.45 45.45
Região Metropolitana | 6 54.55 100.00
-------------------------+-----------------------------------
Total | 11 100.00
Raça do |
indivíduo | Freq. Percent Cum.
------------+-----------------------------------
BRANCO | 6 40.00 40.00
NEGRO | 4 26.67 66.67
PARDO | 5 33.33 100.00
------------+-----------------------------------
Total | 15 100.00
Também é possível criar tabelas cruzadas entre duas variáveis utilizando a seguinte
sintaxe:
Exemplo 29: Fazer uma tabela cruzada entre as variáveis rm e raca. A tabela resultante do
comando mostra em cada célula o número de observações que atendem a duas características
simultaneamente. Ou seja, existem 3 pessoas da raça Branca vivendo em Regiões
Metropolitanas, 1 pessoa da raça Negra vivendo em Regiões Metropolitanas e assim
sucessivamente.
tab rm raca
O comando tab para tabela cruzada apresenta apenas as frequências absolutas para
cada combinação das variáveis. Acrescentando opções ao comando é possível apresentar
também as frequências relativas. Para as tabelas cruzadas existem 3 opções de frequências
23
relativas: em relação ao total da coluna (col), em relação ao total da linha (row) e em relação
ao total de observações (cel).
Exemplo 30: Repetir o comando utilizado no exemplo 29 acrescentando a opção col que
calcula os percentuais das células em relação ao total da coluna. Neste exemplo, será
calculado o percentual de pessoas brancas que vivem em Regiões Metropolitanas em relação
ao total de pessoas brancas, o percentual de pessoas negras que vivem em Regiões
Metropolitanas em relação ao total de pessoas negras e assim sucessivamente.
Exemplo 31: Repetir o comando utilizado no exemplo 29 acrescentando a opção row que
calcula os percentuais das células em relação ao total da linha. Neste exemplo, será calculado
o percentual de pessoas brancas que vivem em Regiões Metropolitanas em relação ao total de
pessoas que vivem nas Regiões Metropolitanas, o percentual de pessoas negras que vivem em
Regiões Não Metropolitanas em relação ao total de pessoas que vivem em Regiões Não
Metropolitanas e assim sucessivamente.
24
Exemplo 32: Repetir o comando utilizado no exemplo 29 acrescentando a opção cel que
calcula os percentuais das células em relação ao número total deobservaçõs. Neste exemplo,
será calculado o percentual de pessoas brancas que vivem em Regiões Metropolitanas em
relação ao total de observações não missing nas duas variáveis utilizadas, o percentual de
pessoas negras que vivem em Regiões Não Metropolitanas em relação ao total de observações
não missing nas duas variáveis utilizadas e assim sucessivamente.
Também é possível criar tabelas cruzadas com todas as combinações possíveis entre as
variáveis listadas utilizando o comando tab2. Do mesmo modo que ocorre para o caso das
tabelas cruzadas visto anteriormente, no comando tab2 também estão disponíveis as opções
col, row e cel.
Exemplo 33: Criar tabelas cruzadas para a combinação das variáveis rm, raca e genero.
25
-> tabulation of raca by genero
Além da tabela cruzada com duas variáveis, o Stata permite a elaboração de tabelas
cruzadas com até sete variáveis. Estas tabelas não serão apresentadas neste curso, para estudar
como elaborar estas tabelas, digite help table na janela de comandos. Abaixo seguem apenas a
sintaxe dos comandos sem a aplicação em exemplos.
- Three-way tables
table rowvarname colvarname supercolvarname
- Four-way tables
table rowvarname colvarname supercolvarname, by(superrowvarname)
- Five-way tables
table rowvarname colvarname supercolvarname, by(superrowvarname1 superrowvarname2)
- Six-way tables
table rowvarname colvarname supercolvarname, by(superrowvarname1 superrowvarname2
superrowvarname3)
- Seven-way tables
table rowvarname colvarname supercolvarname, by(superrowvarname1 superrowvarname2
superrowvarname3 superrowvarname4)
Exemplo 34: Elaborar uma tabela de frequência de raça para mulheres (variável genero igual
a 2).
Raça do |
indivíduo | Freq. Percent Cum.
------------+-----------------------------------
BRANCO | 4 44.44 44.44
NEGRO | 4 44.44 88.89
PARDO | 1 11.11 100.00
------------+-----------------------------------
Total | 9 100.00
26
Exemplo 35: Elaborar uma tabela de frequência de raça para homens (variável genero
diferente de 2).
Raça do |
indivíduo | Freq. Percent Cum.
------------+-----------------------------------
BRANCO | 2 33.33 33.33
PARDO | 4 66.67 100.00
------------+-----------------------------------
Total | 6 100.00
Exemplo 36: Elaborar uma tabela de frequência de raça para pessoas com mais de 5 anos de
estudo.
Raça do |
indivíduo | Freq. Percent Cum.
------------+-----------------------------------
BRANCO | 2 25.00 25.00
NEGRO | 3 37.50 62.50
PARDO | 3 37.50 100.00
------------+-----------------------------------
Total | 8 100.00
Exemplo 37: Elaborar uma tabela de frequência de raça para pessoas com 5 anos ou mais de
estudo.
Raça do |
indivíduo | Freq. Percent Cum.
------------+-----------------------------------
BRANCO | 3 33.33 33.33
NEGRO | 3 33.33 66.67
PARDO | 3 33.33 100.00
------------+-----------------------------------
Total | 9 100.00
Exemplo 38: Elaborar uma tabela de frequência de gênero para brancos e pardos.
Genero do |
indivíduo | Freq. Percent Cum.
------------+-----------------------------------
Homem | 6 54.55 54.55
Mulher | 5 45.45 100.00
------------+-----------------------------------
Total | 11 100.00
27
Exemplo 39: Elaborar uma tabela de frequência de gênero para brancos e pardos com mais de
5 anos de estudo.
summarize varname
Exemplo 40: Usar o comando summarize para calcular a média, desvio padrão, mínimo e
máximo dos valores da variável renda.
sum renda
28
Renda do trabalho
-------------------------------------------------------------
Percentiles Smallest
1% 123 123
5% 123 150
10% 150 160 Obs 15
25% 200 200 Sum of Wgt. 15
Se a opção stats não for definida, será apresentada apenas a média da variável. O
Quadro 3 lista as estatísticas que podem ser utilizadas com a opção stats.
29
Exemplo 42: Elaborar uma tabela com a média, o total de observações diferentes de missing,
os valores máximo e mínimo da variável renda.
Exemplo 43: Executar o mesmo comando do exemplo 42 para a variável renda e variável
educ.
Como a maioria dos comandos do Stata, o comando tabstat apresenta uma série de
opções. Vamos ver duas opções úteis para melhorar a apresentação dos resultados. A primeira
opção é a possibilidade de inverter a forma de apresentação da variável com as estatísticas, ou
seja, colocar as variáveis nas colunas e as estatísticas nas linhas. Esta alteração é realizada
acrescentando-se a opção columns(variables).
Exemplo 44: Inverter a forma de apresentação da variável com as estatísticas. Para ilustrar
vamos calcular a média, soma e total de observações diferentes de missing para a variável
renda. Se a opção não for utilizada, a variável ficará na linha enquanto que as estatísticas são
apresentadas nas colunas. Acrescentando a opção columns(variables), esta apresentação fica
invertida.
30
A segunda opção do comando tabstast que vamos ver se refere ao formato de
apresentação dos números dos resultados. Variáveis com números muito grandes, ou muito
pequenos, podem apresentar problemas na visualização das estatísticas, pois o resultado pode
vir na notação científica. Para visualizar o número por extenso é preciso utilizar a opção
fortmat(%fmt). Para conhecer todos os formatos disponíveis no Stata digite help format na
janela de comandos.
Exemplo 45: Para ilustrar o problema da apresentação dos resultados para variáveis muito
grandes, vamos calcular a média e a soma da variável pib.
Exemplo 46: Conforme visto no exemplo 45, se o formato dos resultados não for controlado,
o resultado será apresentado em notação científica, impossibilitando conhecer o verdadeiro
valor do resultado. Vamos agora impor um formato para os resultados. Queremos que o
resultado seja apresentado com 15 algarismos, sendo 2 casas decimais. Ao manter a forma de
apresentação entre variáveis e estatísticas inalteradas, os resultados da média e do somatório
ficarão misturados. Neste caso, é interessante usar a opção columns(variables) vista no
exemplo 45.
31
A correlação entre duas ou mais variáveis é facilmente calculada com o uso do
comando correlate. O comando possui a seguinte sintaxe:
| educ renda
-------------+------------------
educ | 1.0000
renda | 0.8123 1.0000
Exemplo 49: Calcular a matriz de correlação entre as variáveis educ, renda e luz.
Nesta subseção veremos dois comandos que podem ser usados utilizando variáveis
categóricas e contínuas simultaneamente. Veremos o comando tab, sum() e comando table.
O comando tab, sum() calcula a média e o desvio padrão para uma variável contínua
separadamente para cada categoria de uma variável discreta. Veja a seguir a sintaxe do
comando:
Exemplo 50: Calcular a média e o desvio padrão da variável educ para cada categoria da
variável genero.
32
Genero do | Summary of Anos de estudo
indivíduo | Mean Std. Dev. Freq.
------------+------------------------------------
Homem | 6.3333333 1.6329932 6
Mulher | 6 4.9244289 9
------------+------------------------------------
Total | 6.1333333 3.8520248 15
onde varname1 representa a variável categórica e dentro do parênteses após a opção contents
devem ser especificadas as estatísticas que se quer calcular.
O Quadro 4 apresenta os comandos para as estatísticas que podem ser usadas com a
opção contents e seus respectivos significados.
table raca, contents (freq mean renda sum renda sd renda count renda)
33
---------------------------------------------------------------------------
Raça do |
indivíduo | Freq. mean(renda) sum(renda) sd(renda) N(renda)
----------+----------------------------------------------------------------
BRANCO | 6 436.16666 2617 425.2131 6
NEGRO | 4 797.5 3190 357.9921 4
PARDO | 5 497 2485 322.3918 5
---------------------------------------------------------------------------
collapse (mean) varname1 ... (sum) varname2 ... (count) varname3, by(varname4)
Não existe nenhuma função que calcule diretamente percentuais para cada categoria
em variáveis discretas ou para subgrupos da população. Para calcular percentuais nestas
condições, é preciso ter em mente que a média de uma variável binária (dummy) indica o
percentual de observações com o valor 1 para esta variável, ou seja, a média da dummy
representa o percentual da categoria de interesse.
34
calculados em relação à população que tem informação para a variável em questão. Se o
objetivo for calcular percentuais em relação à toda a população, acrescente a opção missing ao
comando acima (tab varname, g(dummyname) m).
Exemplo 52: Transformar o banco de dados “banco1” em um banco de dados agregado por
Unidades da Federação contendo as seguintes informações:
collapse (mean) renda per_capita idade adulto branco negro pardo (sum)
total_branco=branco total_negro=negro total_pardo=pardo (count) pop=idade, by(uf)
Com o intuito de deixar bem claro o funcionamento do comando, vamos explicar como foi
calculada cada informação solicitada.
i) Para calcular e renda média do trabalho, a renda per capita média, a idade média, o
percentual de adultos e o percentual da população por raça, basta utilizar a opção
mean e logo após especificar as variáveis. Lembre-se que a média de uma variável
35
dummy calcula o percentual da categoria de referência (esta correspondência foi
utilizada para calcular os percentuais de adulto e de raça);
ii) Para calcular o total de pessoas por raça, utiliza-se a opção sum e logo após
especifica-se as variáveis de raça. Como estas variáveis já foram utilizadas para
calcular os percentuais, é preciso atribuir outros nomes para representar os totais.
Isto é feito colocando-se o nome da variável nova e o sinal de igual antes da
variável de indicadora de raça;
iii) Por fim, para calcular o total da população por Estado, utiliza-se a opção count e
logo após especifica-se uma variável que se sabe possui informação para toda a
população. Em outras palavras, utiliza-se uma variável com nenhuma informação
igual a missing. Do mesmo modo que ocorreu para calcular o total por raça, vamos
criar um novo nome para esta variável. Vamos chamá-la de pop.
36
Para ilustrar estes exemplos vamos imputar um novo banco de dados no Stata, com um
número menor de variáveis. Para imputar este novo banco de dados, basta copiar a
programação abaixo em um Do-file e executar todas as linhas de comando.
clear
input str2 var1 str4 var2 str4 var3 var4 var5 str6 var6
Após imputar este novo banco de dados, vamos criar uma variável identificadora do
indivíduo. Esta variável será fundamental para o processo de adicionar variáveis ao banco de
dados (merge). Para criar uma variável com um valor sequencial para cada observação,
iniciando com o valor 1, utilize o comando abaixo. Logo após criar esta variável, salve o
banco de dados com o nome “banco2”. Atenção para o diretório que o banco será salvo.
gen id = _n
save "banco2"
37
7.1 – Adicionar observações ao banco de dados
Para realizar o append, é necessário que se esteja com um banco de dados carregado
no Stata. O append pode ser realizado via barra de Menu, seguindo os seguintes passos: Data
> Combine datasets > Append datasets. Irá abrir uma janela conforme Figura 10. Basta
especificar o banco de dados no primeiro campo.
38
Exemplo 53: Para ilustrar o uso do comando append no caso em que as mesmas variáveis
existem nos dois bancos, vamos imputar o banco de dados abaixo e logo após adicionar as
observações do banco de dados “banco2”.
clear
input id str2 var1 str4 var2 str4 var3 var4 var5 str6 var6
A Figura 12 mostra o banco de dados após o append. Notem que o número de observações
passou para 28 e todas as variáveis possuem informação.
39
Figura 12 – Banco de dados do exemplo 53 após o append com o “banco2”
Exemplo 54: Neste exemplo, vamos unir dois bancos de dados novamente, mas agora com
um dos bancos contendo três variáveis a menos. Para visualizar este procedimento, impute o
banco de dados conforme programação abaixo e depois realize o append com o banco de
dados “banco2”.
clear
input str2 var1 str4 var2 str4 var3 var4
40
Figura 13 – Banco de dados do exemplo 54 antes do append
Como pode ser visualizado na Figura 14, as variáveis que só existiam no banco de
dados “banco2”, ficaram com missing nas observações referentes ao banco de dados do
exemplo.
41
7.2 – Adicionar novas variáveis ao banco de dados.
Para fazer o merge entre dois bancos de dados via barra de Menu, siga estes passos:
Data > Combine datasets > Merge two datasets. Irá abrir uma janela conforme Figura 15.
Nesta janela é preciso definir o tipo de merge entre as cinco opções listadas, a variável de
ligação e o banco de dados com as variáveis que serão adicionadas.
Entre os cinco tipos de merge vamos ver apenas os três primeiros, os dois últimos
devem ser evitados, pois é mais difícil garantir uma correspondência correta entre os dois
bancos. Para realizar o merge, é preciso sempre ter um banco de dados aberto no Stata
(master), e outro salvo no computador ou outro dispositivo de armazenamento de dados
(using).
Vamos ver como aplicar o primeiro caso: one-to-one on key variables. Imagine que
temos um banco de dados com informações de municípios. No entanto, este banco não tem
informações sobre o IDH-M, por exemplo, e queremos acrescentar esta informação no nosso
banco de dados. Neste caso, teremos uma correspondência de um para um entre os bancos de
42
dados, ou seja, os dois bancos de dados possuem uma observação para cada município. Para
fazer o merge entre os dois bancos de dados no Stata, utiliza-se a opção one-to-one on key
variables. Pode-se fazer o merge diretamente pela janela de comandos com a seguinte sintaxe:
onde keyvar representa a variável de ligação e mydata representa o banco de dados salvo no
computador.
Exemplo 55: Para ilustrar o comando merge na opção one-to-one vamos imputar o banco de
dados abaixo e realizar o merge com o banco de dados “banco2”. Neste caso faremos um
merge com correspondência um para um, cuja variável de ligação é a id (identificadora do
indivíduo):
clear
input id str10 ativ status
1 "Primario" 1
2 "Terciario" 0
3 "Primario" 0
4 "Secundario" 1
5 "Secundario" 0
6 "Terciario" 1
7 "Terciario" 1
8 "Secundario" 0
9 "Secundario" 1
10 "Secundario" 1
11 "Terciario" 0
12 "Terciario" 0
13 "Terciario" 1
14 "Primario" 1
15 "Secundario" 0
end
43
Digite a linha de comando abaixo para fazer o merge com “banco2”:
Result # of obs.
-----------------------------------------
not matched 0
matched 15 (_merge==3)
-----------------------------------------
O novo banco de dados possui agora as variáveis dos dois bancos de dados usados para o
merge. A Figura 17 mostra a planilha com as variáveis dos dois bancos.
Agora vamos imaginar outro caso, o banco de dados tem informações individuais para
a população de todos os municípios do Brasil, ou seja, para cada município existem várias
observações. Seguindo o exemplo anterior, queremos acrescentar para cada indivíduo a
informação do IDH-M de seu município. Neste caso, termos uma correspondência de vários
indivíduos no banco de dados inicial para um município no banco de dados do IDH-M. A
informação do IDH-M será a mesma para todas as pessoas do mesmo município. Para fazer o
merge entre os dois bancos de dados no Stata, utiliza-se a opção many-to-one on key variables
44
ou a opção one-to-many on key variables. Como saber qual das duas opções usar, vai
depender de qual banco de dados estiver aberto no Stata. Se o banco de dados com
informações por indivíduo estiver aberto, utiliza-se opção many-to-one, caso contrário, se o
banco de dados com informações de municípios é que estiver aberto, utiliza-se a opção one-
to-many. Para uso do comando diretamente digitando na janela de comandos, utilize a
seguinte sintaxe:
many-to-one:
one-to-many>
Exemplo 56: Neste exemplo iremos acrescentar variáveis referentes a Estados ao “banco2”
que tem as informações individuais. Neste caso a variável de ligação será a var1, que contém
a sigla do Estado. Este vai ser um caso de várias observações de uma variável de ligação para
uma. Vamos imputar o banco de dados abaixo e depois fazer o merge com o “banco2”. Como
o banco de dados de Estado que estará aberto no Stata, a opção one-to-many será utilizada.
clear
input str2 var1 str14 uf_nome codigo
Result # of obs.
-----------------------------------------
not matched 0
matched 15 (_merge==3)
-----------------------------------------
45
Após o merge o novo banco de dados é representado de acordo com a Figura 19. Notem que
as informações do banco de dados por Estado (Nome e código da UF) foram replicadas para
todos os indivíduos pertencentes ao mesmo Estado.
Esta seção aplica o que foi visto nas seções anteriores para um banco de microdados
real. Utilizaremos uma subamostra da Pesquisa Nacional por Amostra de Domicílios (PNAD)
de 2008. O processo de subamostagem foi realizado sem a preocupação de manter o plano
amostral original da PNAD, portanto os resultados que serão obtidos com esta subamostra não
devem ser utilizados em trabalhos, servem apenas para exercitar o que foi aprendido neste
curso.
Para carregar o banco de dados da PNAD no Stata digite a linha de comando abaixo na
janela de comandos do Stata. Verifique se o diretório de trabalho do Stata é o diretório que
estamos utilizando no curso.
46
Vamos usar o comando describe para visualizar algumas informações do banco de
dados. Em função do grande número de variáveis na PNAD, vamos usar a versão resumida do
comando.
desc, sh
Contains data from PNAD_2008.dta
obs: 4,243
vars: 377 17 Oct 2010 16:41
size: 2,779,165
Sorted by:
Note: dataset has changed since last saved
Como se pode visualizar após o comando desc,sh, a PNAD 2008 possui 377 variáveis
e a subamostra utilizada neste curso possui 4.243 observações. Vamos utilizar apenas uma
pequena parte das variáveis.
47
PARTE 7 - CARACTERÍSTICAS DE TRABALHO DAS CRIANÇAS MORADORAS DE 5 A 9 ANOS DE IDADE
1 Sim
Teve algum trabalho no período de referência
83 1 V0701 1 3 Não
de 365 dias
Não aplicável
VARIÁVEIS DERIVADAS
01 Sem instrução e menos de 1 ano
02 1 ano
03 2 anos
04 3 anos
05 4 anos
06 5 anos
07 6 anos
08 7 anos
Anos de estudo
654 2 V4803 09 8 anos
(todas as pessoas)
10 9 anos
11 10 anos
12 11 anos
13 12 anos
14 13 anos
15 14 anos
16 15 anos ou mais
17 Não determinados
1 Economicamente ativas
Condição de atividade na semana de referência
656 1 V4704 2 Não economicamente ativas
para pessoas de 10 anos ou mais de idade
Não aplicável
Condição de ocupação na semana de 1 Ocupadas
657 1 V4805 referência para pessoas de 10 anos ou mais de 2 Desocupadas
idade Não aplicável
Valor R$
Rendimento mensal do trabalho principal para
676 12 V4718 999 999 999 999 Sem declaração
pessoas de 10 anos ou mais de idade
Não aplicável
742 5 V4729 Peso da pessoa
keep UF V0302 V8005 V0404 V4803 V4718 V4729 V4722 V4724 V0501 V0601 V0701 V4704
V4805
48
Agora que já selecionamos as variáveis que vamos utilizar, o próximo passo é
renomear todas elas.
Exercício 2: Renomear as variáveis UF V0302 V8005 V0404 V4803 V4718 V4729 V4722
V4724 V0501 V0601 V0701 V4704 V4805 para uf sexo idade raca educ renda peso ren_fam
componentes migra analfabeto infantil ativ ocup:
ren (UF V0302 V8005 V0404 V4803 V4718 V4729 V4722 V4724 V0501 V0601 V0701 ///
V4704 V4805) (uf sexo idade raca educ renda peso ren_fam componentes migra ///
analfabeto infantil ativ ocup)
Algumas das variáveis selecionadas são variáveis categóricas. Para não termos que
ficar consultando o Dicionário de Variáveis toda hora, vamos acrescentar rótulos para estas
variáveis.
Exercício 3: Acrescentar rótulos para as variáveis sexo, raca, migra, analfabeto, infantil, ativ
e ocup de acordo com o dicionário de variáveis da PNAD. Ao final utilizar o comando
numlabel, add para deixar junto com os rótulos os valores das variáveis:
numlabel, add
49
Feitas estas alterações no banco de dados, temos um banco de dados enxuto e
organizado, pronto para iniciar um trabalho de pesquisa. Em seguida iremos gerar algumas
variáveis, substituir alguns valores, calcular estatísticas descritivas e por fim transformar o
banco de microdados da PNAD em um banco de dados agregados por Estado.
- Idade ao quadrado
Exercício 5: A variável renda na PNAD possui o valor 999999999999 para as pessoas que
não responderam a esta pergunta na pesquisa. Este valor influencia nas estatísticas da variáel
renda, puxando os resultados para cima. Substitua estes valores por missing. Calcule a renda
média antes e depois da substituição para comparar os resultados.
sum renda
Variable | Obs Mean Std. Dev. Min Max
-------------+--------------------------------------------------------
renda | 1857 1.67e+10 1.28e+11 0 1.00e+12
sum renda
Variable | Obs Mean Std. Dev. Min Max
-------------+--------------------------------------------------------
renda | 1826 943.7103 1699.413 0 30000
50
refiram corretamente aos anos de estudo. Calcule a média antes e depois da correção dos
valores.
sum educ
Variable | Obs Mean Std. Dev. Min Max
-------------+--------------------------------------------------------
educ | 3924 6.949032 4.699478 1 17
sum educ
Variable | Obs Mean Std. Dev. Min Max
-------------+--------------------------------------------------------
educ | 3915 5.925926 4.680069 0 15
Exercício 7: Calcular a frequência relativa para cada categoria da variável raca sem
considerar o peso amostral e considerando o peso amostral.
tab raca
51
tab raca [w=peso]
COR OU RACA | Freq. Percent Cum.
------------------+-----------------------------------
0. Indígena | 6,608 0.35 0.35
2. Branca | 902,951 47.53 47.88
4. Preta | 149,295 7.86 55.74
6. Amarela | 11,927 0.63 56.37
8. Parda | 826,813 43.53 99.89
9. Sem declaração | 2,030 0.11 100.00
------------------+-----------------------------------
Total | 1,899,624 100.00
Exercício 8: Calcular a frequência relativa da variável raca apenas para as mulheres (variável
sexo igual a 2) considerando os pesos amostrais.
Exercício 9: Calcular a frequência relativa de cada categoria da variável sexo para as pessoas
de cor branca (raca = 2) ou amarela (raca=4) com mais de 5 anos de estudo considerando os
pesos amostrais.
Exercício 10: Construir uma matriz de correlação com as variáveis educ, renda e ren_fam,
considerando os pesos amostrais.
52
Exercício 11: Construir uma tabela com o total e percentual de pessoas com mais de 5 anos
de escolaridade para cada subgrupo de sexo e raça considerando os pesos amostrais.
| SEXO
COR OU RACA | 2. Homem 4. Mulher | Total
------------------+----------------------+----------
0. Indígena | 1,941 648 | 2,589
| 0.21 0.07 | 0.28
------------------+----------------------+----------
2. Branca | 228,489 267,460 | 495,949
| 24.54 28.72 | 53.26
------------------+----------------------+----------
4. Preta | 35,155 31,533 | 66,688
| 3.77 3.39 | 7.16
------------------+----------------------+----------
6. Amarela | 1,434 4,340 | 5,774
| 0.15 0.47 | 0.62
------------------+----------------------+----------
8. Parda | 166,952 193,312 | 360,264
| 17.93 20.76 | 38.69
------------------+----------------------+----------
Total | 433,971 497,293 | 931,264
| 46.60 53.40 | 100.00
Exercício 12: AGREGAR BANCO DE DADOS: construir um banco de dados agregados por
Estado, com o total da população, a população entre 18 e 65 anos (inclusive) e sua média de
anos de estudo, o percentual de brancos, o total de pessoas com rendimentos não nulos, o
percentual de trabalhadores com mais de 10 anos de estudo em relação ao total de
trabalhadores, a renda média do trabalho e o percentual da população com renda familiar per
capita inferior a R$ 100,00.
- Populaçao branca
gen branco=raca==2
53
gen trab_10 =educ>10
replace trab_10 = . if renda == .
Após a preparação do banco, utilizar o comando collapse para agregar o banco de dados:
collapse (mean) renda educ idade branco trab_10 pobres (sum) pop pop_18_65 (count)
trabalhador=renda [pw=peso], by(uf)
54