-
Ferramentas
Introduo ao STATA (PDF) Como Utilizar os Comandos infile e infix
do STATA (PDF) Como Utilizar os Comandos merge e reshape do STATA
(PDF) STATA Corporation Web Site
17.871 2 Trimestre de 2002 Introduo ao Stata1 1. Introduo Stata
um pacote moderno e geral, acionado por comandos, para se fazer
anlise estatstica, gerenciamento de dados e grficos. As verses esto
disponveis para PC/DOS/Windows, Mac e Unix. Este documento revisa
brevemente alguns elementos-chave do programa, reproduz uma sesso
de amostra e termina com uma tabela descrevendo alguns dos comandos
mais importantes do Stata. Este documento foi produzido para ajudar
a introduzir o Stata no ambiente operacional Athena; assim, o
sistema operacional que estou assumindo Unix. 1. Iniciando o Stata
Em uma janela xterm, digite o seguinte:
Isso acionar a interface grfica do Stata. Se em vez de digitar
xstata for digitado stata, voc obter uma puramente uma interface de
linha de comando. ADVERTNCIA: No ano passado, quando a interface
grfica foi adicionada ao Unix, vrios problemas foram descobertos
quando o Athena fez o upgrade. Particularmente, o xstata s vezes
far com que as mquinas Athena apresentem falha, requerendo uma
partida a frio. Esse problema parece estar associado com
gerenciadores de janelas no-padro. Os trs pontos a seguir ajudam a
contornar o problema: (1) Salve seu trabalho com freqncia. (2) Se o
Athena trava para quando voc usa o Stata, tente usar o padro do
gerenciamento de janela Athena. (3) Para se ter absoluta certeza de
que voc no vai ter esses problemas, use a verso da linha de comando
de Stata. 1.1 Inserindo e editando comandos Os comando so inseridos
e editados pelo teclado. Os comandos anteriores so salvos em um
buffer e podem ser recuperados para edio. Alm disso, a interface do
usurio contm uma janela marcada como "review", que grava os
comandos recentes inseridos por voc. Depois de ter inserido um
comando, voc pode ir at a Janela Review e clicar duas vezes sobre
qualquer
1 Este documento foi profundamente inspirado em outro documento
semelhante criado por Jeroen Wessie, Departamento de Sociologia,
Utrech University.
-
comando para execut-lo novamente. Um clique nico leva o comando
para a Janela Command para edio e execuo. O quadro abaixo mostra os
comando de edio mais teis para a Janela Command, usando o Unix.
Para revisar os 10 comandos anteriores, digite #review 10. 1.2
Sair do Stata Para sair do Stata, execute o comando exit. Caso
esteja trabalhando em um conjunto de dados, voc provavelmente fez
alteraes nos dados, como ter criado novas variveis. Se voc no tiver
primeiro salvado seus dados, o Stata ir recusar sua sada. Esse
mtodo visa a proteg-lo de seu prprio erro. Para sair do Stata sem
salvar os dados, digite exit, clear. 1.3 Ajuda
-
A tecla F1 reservada pelo Stata para ajuda. Usando o comando
help, voc obtm informaes detalhadas sobre a maioria dos aspectos
dos programas e sobre os comandos. Por exemplo, ao digitar help
regress, voc obtm informaes detalhadas sobre a execuo de regresses
lineares usando o comando regress. 1.4 Busca O comando search topic
permite que voc procure pelo comando Stata para anlises com
referncia ao topic (tpico). Por exemplo, search regression d uma
pesquisa completa dos comandos pertinentes anlise da regresso.
Observao: no final da seo de ajuda dos comandos, voc tambm
encontrar uma lista dos comandos relacionados. 1.5 Stata na
Internet O site do Stata na internet www.stata.com, e ele pode ser
acessado a partir do prprio Stata por meio do menu Help. No site,
voc encontrar uma pgina extensa de perguntas freqentes, alm de
outros brindes . 1.6 Identificadores Um identificador (nome), como
o nome de um comando ou varivel, formado por no mximo 32 caracteres
(caixas alta e baixa, dgitos e underscores), no qual o primeiro
caractere deve ser preferencialmente uma letra (observe que o
limite de 32 caracteres novo para a verso 7. As verses anteriores
impunham um limite de 8 caracteres. Em funo de problemas de
compatibilidade, eu continuarei a considerar o limite de 8
caracteres e pedirei que faam o mesmo). O Stata faz distino entre
letras maisculas e minsculas. Quase todos os comandos do Stata esto
em caixa baixa. 1.7 Abreviaes Uma regra geral no Stata que voc pode
abreviar os comandos e nomes de variveis desde que o Stata no se
confunda com o que voc deseja fazer. Por exemplo, se voc tiver as
variveis income1 e inkvar2 em seu conjunto de dados, o Stata
entender que inc a varivel income1, mas no seria capaz de decidir
se in significa income1 ou inkvar1. Se voc realmente quiser
especificar todas as variveis que comeam com in, possvel usar uma
expresso com curinga (in*). 1.8 Arquivos de log O comando log using
filename especifica que todos os comandos que so inseridos a partir
do teclado, mais a maioria dos resultados produzidos, so salvos em
um arquivo de nome filename.scml.
-
Dessa maneira, voc pode salvar o resultado e revis-lo.
Infelizmente (a meu ver), o Stata v. 7 produz como padro um arquivo
de log que uma verso no convencional de html. Portanto, para
traduzir um arquivo de log em algo que possa ser lido com mais
facilidade, voc precisar executar o comando translate. possvel
pular esta etapa ao digitar log using filename, text. 1.9 Comandos
de shell Voc pode inserir comando Unix ao colocar nele o prefixo !.
Por exemplo, !ls relacionar a list de arquivos que esto no diretrio
atual. 1.10 Arquivos em lote Voc pode construir um arquivo de
comandos do Stata para ser executado em lote. Isso muito til para
replicar suas anlises, e voc precisar escrever esses arquivos para
documentar seu trabalho em alguns problemas e em seu projeto final.
Para construir e testar um arquivo de comandos do Stata, possvel
usar tanto um editor de ASCII (como emacs) quanto o Editor de
Arquivos "Do" na interface grfica. 1.11 Uma sesso de amostra A
seguir apresentada uma sesso introdutria em Stata, usando o
conjunto de dados dos Governistas Negros Eleitos (beo_example.dta)
em /mit/17.801/Examples. Os comentrios so precedidos por *.
-
2. A sintaxe do Stata O Stata possui uma sintaxe poderosa e
consistente. Com algumas excees, a forma bsica : [by varlist1:]
command [varlist2] [weight] [if expr2] [in range] [,options]
Exemplos de comandos do Stata: summarize age regress income educ
exp sex tabulate sex edu if age>25 tabulate sex edu,no freq cell
chi2 by cohort: tabulate sex edu Observaes sobre a sintaxe do
Stata:
No diagrama de sintaxe exibido acima, as partes opcionais esto
dentro de colchetes [ ]. by varlist1: requisita uma anlise separada
para cada valor de varlist1: As partes opcionais [if expr2] [in
range] restringem o conjunto de observaes sobre
o qual o comando opera. Eles podem ser colocados em qualquer
ordem.
-
Um conjunto de observaes referido na forma de # ou #/#; #
representa um nmero ou l (ou seja, a letra L), significando a ltima
observao. Por exemplo, in 1/10 significa apenas para as dez
primeiras observaes; in l significa apenas a ltima observao; -5/l
significa as ltimas 5 observaes.
No discutimos pesos aqui. Observe que uma vrgula obrigatria
antes das opes. Na maioria dos casos pode
haver no mximo uma vrgula (algumas funes separam argumentos
usando vrgulas, mas elas so raras).
A linha que comear com * ignorada. Em um arquivo ".do", qualquer
texto entre /* e */ considerado um comentrio. Eles precisam estar
na mesma linha: /* */ pode ser usado para fazer uma nova linha
invisvel no Stata.
Como padro, as linhas de comando terminam com ENTER (retorno do
carro). Em um arquivo ".do" (e somente em um arquivo ".do"), voc
pode alterar o separador de comandos para ; por #delimit ; ,
enquanto o comando #delimit cr leva-o de volta para o retorno do
carro. Nenhum outro caractere permitido como delimitador.
A sintaxe faz diferenciao de letras MAISCULAS e minsculas: a
diferente de A! Todos os nomes do Stata esto em minsculas.
Os nomes podem ser formados por 1 a 32 letras, dgitos e/ou
underscores, comeando com uma letra. Para facilitar a
compatibilidade com verses anteriores do Stata, uma boa idia manter
os nomes com 8 ou menos caracteres.
Um nome de varivel pode conter o caractere curinga *. As listas
de variveis so indicadas por . Em uma lista de nomes, v1 - v100
significa v1, v2, . . . v100.
O Stata suporta diferentes tipos de variveis: inteiros (bye,
int, long) nmeros reais aproximados (float, double), datas e
strings alfa-numricas. O padro float.
Muitos nomes de sistema comeam com _. Por exemplo:
_n nmero da observao corrente _N nmero total de observaes _all
todas as variveis _b vetor dos coeficientes de regresso _se vetor
dos erros-padro dos coeficientes de regresso
Ao ser combinado com by, _N e _n, refere-se ao nmero de
observaes dentro do grupo atual.
Para expresses, veja abaixo ou help exp. Em expresses lgicas,
use == para igualdade. O Stata permite indexar ou subscrever
variveis no comando generate, usando [ ], _n, _N, etc. Por exemplo,
gen dx = x - x[_n-1] significa gerar uma nova varivel (dx) que
subtraia o valor de x da observao anterior do valor de x da
observao corrente.
Aspas so usadas apenas para strings. Use aspas duplas. 3.
Expresses e transformao de dados
-
3.1 As expresses lgicas podem conter os seguintes
operadores:
Aqui, & E, | OU e ~ NO. Observe o uso de sinal de igual
duplo (==) para a igualdade booleana. No Stata, um nico = usado
exclusivamente para tarefas, enquanto o duplo == usado para o
operador booleano de igualdade. 3.2 As expresses aritmticas podem
conter os seguintes operadores:
Observaes: x^y representa xy. Observe que -2^2 resulta em 4,
enquanto (-2)^2 resulta em 4. [ ] so usados para subscrever ou para
a gerao de variveis defasadas: x[3] o valor de x para a observao 3;
x[_n-1] o valor de x para a observao anterior. _n o nmero da
observao corrente e _N o nmero total de observaes. . (ponto final)
representa o valor ausente no sistema quando se refere a variveis
numricas (valores ausentes para variveis de string so representados
por strings nulas). Internamente, os valores ausentes so
representados pelo maior valor possvel do tipo de dado. Isso pode
requerer alguns cuidados. Por exemplo: 0 0, x < 0 ou x == 0,
respectivamente. sum() A soma de todos os valores da expresso ()
para todas as observaes
anteriores e a observao corrente (ou seja, uma soma contnua ou
acumulada)
uniform() Isso gera um nmero aleatrio uniformemente distribudo
entre 0 e 1. Nenhum argumento necessrio, mas o () no deve ser
omitido. A semente pode ser alterada com set seed. Como padro, o
Stata estabelece uma nica semente , sempre gerando a mesma seqncia
de nmeros aleatrios.
-
Alm disso, autocode, group e recode so funes muito teis para se
fazer a recodificao dentro de um conjunto discreto de valores. O
comando tabulate pode ser usado para gerar variveis dummy, que so
discutidas no prximo pargrafo. Alm disso, h vrias funes para as
strings, e entre strings e nmeros, funes de distribuio: da
distribuio normal, a distribuio c2 (chiprob(df,x)), a distribuio F,
a distribuio T-Student e o inverso da distribuio normal. A ltima
funo pode ser usada para gerar nmeros aleatrios normalmente
distribudos: invnorm(uniform()). Para obter mais detalhes, veja o
manual ou digite help functions. 3.3 Transformaes de dados O Stata
possui recursos muito bons de transformao de dados.
Ao contrrio da maioria dos pacotes estatsticos, h diferentes
comandos para definir novas variveis (generate) e para modificar as
variveis existentes (replace). tabulate pode ser usado para fazer
variveis dummy, chamadas de variveis indicadoras pelo Stata. As
expresses Stata so bastante poderosas: h um bom conjunto de funes e
a possibilidade de mistura de expresses lgicas e numricas, como est
explicado abaixo.
Para alterar os valores de uma varivel discreta, voc pode tambm
usar o comando recode. Eis um exemplo: recode xyz 1=2 2=1 *=3 Para
a varivel xyz, este comando substitui 1 por 2, 2 por 1 e tudo por
3. Veja trs exemplos de generate:
gen laginc = inc[_n-1] gen loginc = log(inc) gen hiinc = inc
> 100000
O primeiro exemplo mostra como fazer uma varivel defasada. O
terceiro exemplo cria uma varivel dummy hiinc, que igual a 1 para
as observaes maiores do que 100.000 e para valores ausentes, 0.
Qualquer expresso lgica pode ser usada como uma expresso aritmtica
ou parte dela. Verdadeiro interpretado como 1; falso 0. De modo
contrrio, toda expresso aritmtica pode ser interpretada como
expresso lgica. Qualquer expresso com resultado 0 tomada como
falsa; qualquer expresso com outro nmero ou um valor ausente como
resultado tomada como verdadeira.
-
Considere que temos a varivel age (em anos) e que desejamos
recodific-la em quatro categorias com pontos de quebra em 20, 40 e
60 anos. A expresso lgica (age>20) 1 (ou seja, verdadeira) para
todas as pessoas com mais de 20 anos. Assim, podemos escrever:
gerando uma nova varivel, age4, que ter valores 1, 2, 3 ou 4. O
resultado ser 1 para todos os pesquisados com idade igual ou
inferior a 20 anos e 4 para todos com mais de 60 anos.
Se quisermos transformar uma varivel contnua como age em
discreta usando os limites superiores das faixas de idade como
novos valores podemos usar a funo recode:
Se oldvar
-
Algumas manipulaes poderosas de dados so possveis com a opo by.
Por exemplo, digamos que voc tenha um conjunto de dados que possua
informaes sobre pessoas em diferentes lares; cada um possui vrios
entrevistados. Se a varivel hhold identificar o lar em que um
indivduo est e age registrar a idade de cada pessoa, ento o exemplo
a seguir descobrir a idade mdia das pessoas mais velhas em todos os
lares: sort hhold age by hhold : gen oldest = _n == _N summ age if
oldest O comando a seguir encontraria a idade mdia dos outros
membros do lar: summ age if~oldest. Como outro exemplo, vamos supor
que voc tenha dados sobre as rendas das pessoas dentro dos lares.
Voc quer descobrir a renda total do lar, fazendo a soma de todos em
cada casa. possvel fazer isso com o seguinte conjunto de comandos:
sort hhold by hhold : gen hhinc = sum(inc) by hhold : replace hhinc
= hhinc[_N] Esta ltima operao realizada de modo mais fcil usando
uma das funes egen: egen hhinc = sum(inc), by(hhold) 4 Resumo dos
comandos do Stata Nesta seo, h uma breve explicao para os comandos
mais importantes do Stata. Indicamos abreviaes permitidas ao
sublinh-las. No use abreviaes em excesso nos arquivos ".do", pois
isso dificulta a compreenso. 4.1 Ajuda Stata Descrio help help
Ajuda interativa sobre como usar o sistema de ajuda. help topic
Ajuda interativa sobre o topic (comandos do Stata), como por
exemplo help regress.
search string
Lista as descries dos comandos do Stata relacionadas com o termo
string, como por exemplo search regression. O resultado tambm
inclui tpicos que apareceram no Boletim Tcnico do Stata e os
programas disponveis em arquivos antigos dos programas do
Stata.
lookfor string
Relaciona as variveis que contm string no nome da varivel ou no
rtulo da varivel, como por exemplo lookfor age.
-
4.2 Lendo e gravando arquivos de dados Stata Descrio use
Carrega um arquivo do sistema do Stata para processamento.
save filename
Salva como arquivo do sistema do Stata; no se esquea de
substituir caso deseje sobrescrever um arquivo de disco
existente.
merge commonvar using filename
Adiciona variveis de outro arquivo de sistema para o arquivo
atual. Os dois arquivos devem ter uma varivel em comum, commonvar,
que identifique os casos a serem combinados. Os dois arquivos devem
ser classificados por commonvar.
append filename Adiciona casos de outro sistema de arquivo.
compress
Compacta o arquivo de dados ao converter, por exemplo, nmeros
reais de 4 bytes em inteiros, se isso for possvel, sem causar perda
da informao. Esse comando pode economizar muito espao em disco e
memria interna.
edit
Insere os dados diretamente no editor de dados ou altera o valor
das variveis existentes (isso no est disponvel na verso de linha de
comando do Stata).
input varlist
Insere os dados de forma interativa. Digite end para encerrar a
insero.
infile varlist L os dados ASCII em formato livre ou fixo. infix
varlist L os dados ASCII em formato fixo. insheet using
filename
L os dados ASCII em formato delimitado por tabulaes ou
vrgula.
outfile using filename Escreve um arquivo de dados ASCII de
formato livre (opcionalmente, com um dicionrio)
outsheet using filename
Escreve um arquivo de dados ASCII em formato delimitado por
tabulaes ou vrgula.
-
4.3 Modificando os dados de forma interativa Stata Descrio
generate newvar = expr
Cria uma nova varivel newvar usando uma expresso expr.
replace oldvar = expr Altera os valores de uma varivel
existente. edit / browse varlist Insere dados diretamente no editor
de dados ou altera o valor
das variveis existentes usando uma interface semelhante a uma
planilha (isso no est disponvel na verso de linha de comando do
Stata).
for Repete um comando para uma lista de variveis, uma lista
numrica ou uma lista de strings arbitrrios.
egen Vrias extenses teis para o comando generate, incluindo
gerao de mdias de variveis na mesma linha, etc.
recode varname Recodifica a varivel varname. reshape Altera a
organizao de um conjunto de dados entre os
formatos largura e altura. Isso muito til para administrar
conjuntos de dados que possuam uma organizao individual (pessoa,
lugar, coisa) por unidades de tempo.
collapse Agrega variveis. Por exemplo, se voc possuir um
conjunto de dados em nvel municipal, possvel agregar at o nvel
estadual usando o comando collapse. Advertncia: o comando collapse
sobrescreve os valores existentes das variveis.
4.4 Procedimentos descritivos Stata Descrio describe Lista de
nomes, rtulos e n de observaes de
variveis, entre outros ds Lista compacta de nomes de variveis.
Summarize Estatsticas resumidas bsicas sobre as observaes vlidas.
summarize, detail Estatsticas resumidas detalhadas, incluindo
quanta,
assimetria, curtose. by varname : summ Estatstica para
subgrupos. tab varname, summ() Resumo para subgrupos. Tabulate
Tabelas de uma e duas entradas. tab varname, plot Histogramas. by
varname : tab Tabelas de vrias entradas. Table Tabelas de vrias
entradas, com formatao avanada. inspect Outros resumos univariados
para inspeo de dados. correlate Matriz de correlao ou covarincia
das variveis. pwcorr
Matriz de correlao com excluso de pares de casos ausentes.
-
pcorr Correlaes parciais. spearman Correlao no-paramtrica de
Spearman. count if exp Para quantas observaes a expresso exp
verdadeira. list Lista de observaes. display expr
Calculadora rudimentar. Calculadora simples.
4.5 Grficos
Stata Descrio graph, box Plotagem do tipo Box plot. graph, hist
Histogramas (padro, se for dada apenas uma varivel). graph, oneway
Plotagens de freqncia em diagrama de barras. graph, matrix Plotagem
de matriz de disperso de duas variveis. graph, twoway Diagrama de
disperso (padro se forem dadas duas
variveis). Avplot Plotagens de varivel agregada depois da
regresso. 4.6 Procedimentos estatsticos Stata Descrio regress
Regresso. Ttest t-teste. Teste T-Student 4.7 Procedimentos variados
Stata Descrio sort Classifica as observaes com base em uma ou mais
variveis. order Reorganiza as variveis na matriz de dados. rename
Altera o nome de uma varivel. drop if expr Abandona observaes
quando expr verdadeira. drop varlist Abandona as variveis em
varlist. drop all Abandona todas as variveis. clear Abandona todas
as variveis.Necessrio antes que um novo
conjunto de dados possa ser lido. sample Amostra aleatria de
observaes de dados. keep O oposto de drop. label Rotula variveis e
valores de variveis. do filename Executa um arquivo ASCII de
comandos do Stata. Assume
que a extenso do arquivo .do, a menos que seja determinada outra
extenso.
run filename Mesmo que do, apenas executa o arquivo sem
apresentar resultados.
-
exit Sai do Stata (isso no permitido quando os dados foram
alterados mas no foram salvos). exit, clear Sai do Stata mesmo
se os dados alterados no foram salvos. log using filename Gera
arquivo de log com o nome filename.