Você está na página 1de 5

Roteiro das funes bsicas para Stata 10

/*

Colar essa rotina em um novo Do-File Editor

*/

/*

Ser usado como exemplo uma base da pnad j em formato dta

*/

/*__________________________________________________________________
deleta todos os comandos, variveis e rotina previamente
escritas: */
clear all
/*__________________________________________________________________
para no parar a tela de resultados toda hora e rodar todas as
linhas direto: */
set more 1
/*___________________________________________________________________
aumentar a capacidade de momria (algumas rotinas s rodam com
mais de 500mb disponveis) */
set mem 500m
/*___________________________________________________________________
vou usar a base da pnad (pnad06.dta) como exemplo, j no formato
Stata e salva no desktop (por exemplo). Em seguida ser limpo
o caminho para trabalhar nela: */
use "C:\Users\Marcelo\Desktop\pnad06.dta", clear
/*___________________________________________________________________
vou criar o log das sadas tambm no desktop com o nome de
bsico */
cap log close
log using "C:\Users\Marcelo\Desktop\basico", text replace
/*___________________________________________________________________
renomeando as sries*/
rename v0302 sexo
rename v8005 idade
rename v0404 cor
rename v9532 renda
rename v9058 horas
ren v9087 sind

Criado por Marcelo Chaine, PPGE-UFRGS

/*___________________________________________________________________
sumarizando as sries*/
sum
/*___________________________________________________________________
sumarizando uma nica srie e dividindo-a em percentis*/
sum renda, det
/*___________________________________________________________________
tabulando as sries */
tab sexo
tab idade
tab cor
/*___________________________________________________________________
tabulando as sries cruzadas */
tab sexo educa
/*___________________________________________________________________
ordena a varivel ap[resentando medidas descritivas da outra */
tab educa, sum(renda)
/*___________________________________________________________________
eliminando da srie de valores aberrantes */
drop if renda>999999999
drop if horas==99
/*___________________________________________________________________
alterando valor assumido pelas variveis */
replace sexo=1 if sexo==2
replace sexo=0 if sexo==4
replace sind=0 if sind==3
/*___________________________________________________________________
gerando uma nova varivel */
gen id2=idade*idade
gen lw=ln(renda/(4*horas))
/* exemplo, a varivel branco ser todas as obs cujo valor observado
em cor 2*/
gen branco=cor==2
/*___________________________________________________________________
eliminado uma varivel */
drop uf

Criado por Marcelo Chaine, PPGE-UFRGS

/*___________________________________________________________________
ordenando (crescente) a srie */
so idade
/*____________________________________________________________________
criar a varivel mrenda que contm o valor mdio da renda para
cada idade, ou seja, estou criando uma varivel, que, para cada
idade declarada, o valor assumido por ela ser uma mdia da
renda de todas as pessoas que disseram ter aquele idade */
egen mrenda=mean(renda), by(idade)
/*____________________________________________________________________
criar um grfico muito bacana da renda em funo da idade que
fcil de ser editado. O comando , c(l) para que, apesar do
grfico ser do tipo pontos de dispero (scatter), ele
simplesmente acrescenta uma linha que une os pontos. Pode
demorar alguns segundos para aparecer a nova janelinha com o
grfico */
scatter mrenda idade, c(l)

/*********************************************************************
REGRESSES
*********************************************************************/
/*___________________________________________________________________
OLS simples */
reg renda educa
/*___________________________________________________________________
OLS robusto, com correo de white*/
reg renda educa idade id2,rob
/*___________________________________________________________________
OLS robusto, com correo de Newey. Mas antes, voc deve ajustar
os lags com um "tsset renda" */
*/

newey renda educa, lag(1)

*/

/*___________________________________________________________________
OLS simples, mas sem cabealho na sada. Esse comando voc pode
usar a qualquer momento, mas sempre ao final de ter escrito a
a regresso, por exemplo: reg bla bla, rob noha (sem vgula
depois do rob) */
reg renda educa, rob nohea

Criado por Marcelo Chaine, PPGE-UFRGS

/*___________________________________________________________________
salvando os resultados previstos obtidos somente na LTIMA
regresso qualquer rodada, com o nome de rendahat */
predict rendahat
/*___________________________________________________________________
2SLS estimando a renda, mas instrumentalizando a varivel educa
com idade (inventei, sei que no faz sentido)*/
ivreg renda id2 sexo (educa=idade), rob
/*___________________________________________________________________
fazendo o mesmo s que agora em dois passos
*/
reg educa idade sexo id2
predict educahat
reg renda educahat id2 sexo
*/

Painel

*/

/*___________________________________________________________________
para cada regresso, rodar novaamnete desde este incio, pois
algumas variveis sero perdidas (multicolinearidade) a cada
regresso. Ento, fazer uma de cada vez, no rodar esse do-file
de uma vez s. (usando outro banco de dados em ST e j aberto um
outro Stata)*/
clear all
set more 1
set mem 500m
use "C:\Users\Marcelo\Desktop\dados.dta", clear
/*___________________________________________________________________
vou criar outro log das sadas tambm desktop com o nome de
basico2 */
cap log close
log using "C:\Users\Marcelo\Desktop\basico2", text replace
/*___________________________________________________________________
criando dummies temporais, uma para cada ano */
tab ano, ge(td)
/*___________________________________________________________________
estimando POLS, o asterisco aps td significa que eu quero todas
as variveis cujo nome comea com td */
reg lw exp td*, rob
/*___________________________________________________________________
estimando por efeitos fixos */
xtreg lw exp td*, fe
est store fixed

Criado por Marcelo Chaine, PPGE-UFRGS

/*___________________________________________________________________
estimando por efeitos aleatrios */
xtreg lw exp td*, re
est store random
/*___________________________________________________________________
teste de hausman */
hausman fixed random
/*___________________________________________________________________
calculando variveis defasadas */
so pis
qui by
qui by
qui by
qui by

ano
pis:
pis:
pis:
pis:

gen
gen
gen
gen

lw1=lw[_n-1]
dlw=lw-lw[_n-1]
dlw1=dlw[_n-1]
dexp=exp-exp[_n-1]

/*___________________________________________________________________
estimando por efeitos aleatrios com varivel dependente
defasada */
xtreg lw exp lw1 td*, fe
/*___________________________________________________________________
estimando por primeiras diferenas com varivel dependente
defasada */
reg dlw dexp dlw1 td*, rob
/*___________________________________________________________________
GMM -Arellano Bond
*/
xtabond lw exp
/*_________________________________________________________________
GMM - CUIDADO COM O BANCO DE DADOS
*/
ivreg lw exp (ano=pis), rob
ivreg2 lw exp (ano=pis), gmm rob
/* possvel fazer combinaes de comando, e se digitar help comando
qualquer na janela de comando, ele dera toda a sintaxe do comando a
ser utilizado */

Criado por Marcelo Chaine, PPGE-UFRGS