Você está na página 1de 29

Apostila Stata

Programa de Ps-Graduao em Sade Coletiva


Universidade Federal do Maranho
Disciplina: Mtodos Estatsticos em Epidemiologia
Prof. Antnio Augusto Moura da Silva

O que o Stata
O Stata um programa estatstico potente, capaz de resolver tarefas simples como
calcular mdia, desvio padro, testes de hiptese para mdias e propores,
intervalos de confiana, at estatsticas mais complexas como regresso linear
mltipla, anlise de varincia, regresso logstica, anlise de sobrevivncia, regresso
de Cox etc. Tem recursos potentes de tabulao de variveis e comandos para clculo
das medidas de associao usadas em epidemiologia, como razo de incidncias (rate
ratio), risco relativo (risk ratio), razo de chances (odds ratio) e risco atribuvel.
Possui recursos poderosos para manipulao de variveis, porm as ferramentas para
entrada de dados com verificao de erros de digitao so pobres. Usualmente,
melhor criar um programa para entrada de dados no EPIINFO, digitar os dados usando
os recursos CHECK e VALIDATE, e depois exportar o arquivo para o STATA usando o
STAT TRANSFER. Ou, se forem poucos dados, criar uma planilha Excel e depois
cortar e colar os dados no Stata.
Quando se carrega o programa na memria, aparece a sua tela, como na figura abaixo:

Observa-se a barra do programa (em azul, acima) e os botes do Windows (minimizar,


maximizar e fechar). Logo abaixo est a barra de menu, com os recursos File, Edit,
Data, Graphics, Statistics, User, Windows e Help.
No menu File, existe a opo Open, para abrir um arquivo STATA. Logo abaixo
observa-se a barra de botes, com os botes Open (use), Save, Print Results, Log
Begin/Close/Suspend/Resume, New Viewer, Bring Graph Window to front, New
Do-file Editor, Data Editor, Data Browser, Clear more condition e Break.
Na rea de trabalho h 4 janelas ativas: acima esquerda, a janela Review, onde vo
surgindo os comandos j digitados. Acima direita, a janela Results, onde vo
aparecendo os resultados do processamento. Abaixo esquerda, a janela Variables,
onde ficam todas as variveis do arquivo em uso e abaixo direita a janela Command,
onde se digitam os comandos.
Na penltima linha da tela, aparece o drive ativo, isto , onde esto sendo gravados os
dados (c:\Arquivos de Programas\Stata10) e a ltima linha a barra do Windows,
onde esto os botes Iniciar e os botes dos programas ativos no momento.
Todos os comandos no Stata podem ser acessados pelo menu ou digitando-se na janela
de comandos. Se voc optar pelo menu, basta escolher clicando em File, Edit, Data,
Graphics, Statistics, User, Windows e Help, depois fazer as selees, escolher as
opes nas caixas de dilogo e clicar OK. Se voc optar pela digitao dos comandos,
ser necessrio digit-los na janela Command.
Nesta apostila, todos os comandos que voc vai precisar digitar ou escolher do menu
estaro destacados em negrito.

Apostila Stata

Abrindo arquivo no Stata - use


Vamos trabalhar agora com o banco de dados dnma.dta. Neste arquivo constam dados
dos nascidos vivos no Maranho em 2009, cadastrados no SINASC (Sistema de Informaes
Sobre Nascidos Vivos) do Ministrio da Sade. Veja abaixo as variveis do arquivo que sero
utilizadas em exerccios neste curso e a sua codificao.

Apostila Stata

O primeiro passo abrir o arquivo. Para tanto preciso usar o comando File / Open /
e em seguida localizar o diretrio Stata onde o arquivo dnma est localizado. Em seguida
clique em cima do arquivo dnma e escolha a opo Abrir. Observe que o comando use
c:\Arquivos de Programas\Stata10\dnma.dta foi copiado para a janela Review e que agora
os nomes de variveis aparecem na janela Variables.
Se o arquivo no abrir, possvel que tenha aparecido uma mensagem de erro no
room to add more observations (no h espao na memria para carregar o arquivo, numa
traduo livre). Se acontecer isto, voc precisa aumentar o tamanho da memria disponvel
para carregar o arquivo, pois o arquivo dnma muito grande. Digite:
set memory 50m

(que pode ser abreviado para set memo 50m)

E pressione a seguir a tecla ENTER ou RETURN:


Pronto, a memria disponvel aumentou para 50 mega e agora voc vai poder carregar
o arquivo.
Outra opo digitar o comando na janela de comandos, pressionando a seguir a tecla
ENTER ou RETURN:

Apostila Stata

use dnma.dta
use dnma

[ENTER]
[ENTER]

ou
(voc pode omitir a extenso .dta).

Verifique na barra de Status se o drive ativo c:\Arquivos de Programas\Stata10.


Se no for, preciso digitar o caminho completo das unidades de disco e pastas para que o
Stata possa localizar e abrir o arquivo.
use c:\Arquivos de Programas\Stata10\dnma.dta
Ou voc precisa copiar o arquivo dnma.dta para o drive ativo antes de usar o comando
use dnma. Ou, ainda, voc pode mudar o drive ativo. No menu, escolha File / Change Working
Directory e escolha a posta onde voc deseja trabalhar (comando disponvel a partir da
verso 11). Voc pode tambm mudar o drive ou pasta ativa, digitando (no se esquea de
delimitar o caminho usando aspas aps o comando cd - abreviatura de change directory).
cd c:\Arquivos de Programas\Stata10
Em seguida, aps mudar a pasta ativa, digite:
use dnma.dta
Observe que, aparece na janela de resultados o comando utilizado aps o .
Isto nos informa que o que foi digitado se trata de um comando e no do resultado do
processamento. O resultado do processamento vai surgir em seguida.

. use dnma
O Stata est pronto para aceitar um comando quando o ponto . aparece na janela de
resultados.

Listando variveis - list


Use o comando list para obter uma listagem das variveis e dos dados gravados no
arquivo. Voc pode usar o menu de comandos Data / Describe Data / List Data e teclar Ok
na janela de dilogo list list values of variables. Nesta janela de dilogo voc pode usar as
opes disponveis, escolhendo apenas algumas variveis para serem listadas e mudando a
largura das colunas para controlar a forma como os dados sero mostrados na tela (janela de
Resultados - Results).
Alternativamente voc pode digitar na janela Command:
list

Apostila Stata

Observe que surgem na tela os dois primeiros registros. Veja tambm que alguns
nomes de variveis grandes so abreviados e que algumas letras so substitudas por ~,
sendo que o Stata preserva a ltima letra. Por exemplo, a varivel codmunnasc se
transformou em codmun~c. Observe tambm que, para continuar a rolar a tela e olhar os
prximos registros, necessrio apertar qualquer tecla ou clicar com o mouse em cima de
more- .
Como este arquivo armazena dados de 123.635 nascidos vivos, levaramos muito
tempo visualizando todos eles. Desta forma, localize o X vermelho na barra de ferramentas
e clique em cima dele para interromper a listagem. Aps interromper a listagem, pressione
seta para cima e seta para baixo ou [Page Up] e [Page Down] para rolar a tela na janela de
resultados.
Data Editor (Edit)

Variables
Manager

Log Begin / Close / Suspend / Resume


New Do-file Editor

Interromper

Data Editor
(Browse)

Apenas uma certa quantidade de resultados passados permanece armazenada na


janela de resultados. Assim, possvel que voc faa o rolamento para cima e parte dos
resultados obtidos nesta seo tenham desaparecido. Por isso existe a possibilidade de
gerar um LOG file. Utilizando o comando log using <nome do arquivo> voc grava todo o
resultado do processamento em um arquivo que voc pode abrir depois. Tudo aquilo que for
digitado (comandos) e todos os resultados gerados a partir do momento em que voc usa o
comando log sero gravados em um arquivo especfico. Digite o comando abaixo para gerar
um LOG:
log using dnma
Observe que aparece na janela de resultados:
. log using dnma
---------------------------------------------------------------name: <unnamed>
log: /Arquivo de programas/Stata10/dnma.smcl
log type: smcl
opened on: 19 Aug 2011, 07:28:57
De agora em diante, tudo o que voc digitar e os resultados do comando sero
gravados no arquivo dnna.smcl (smcl a terminao que o Stata usa para guardar os dados
em formato prprio). Digite agora list parto para obter uma listagem apenas da varivel tipo
de parto.

Apostila Stata

list parto
Vamos abrir agora o arquivo log para verificar que os comandos digitados e os
resultados obtidos esto sendo gravados no arquivo dnma.smcl. Identifique o cone Log Begin
/ Close / Suspend / Resume e clique nele com o mouse. Na caixa de dilogo selecione a
opo View Snapshot of log file e clique em OK.
Outra forma de visualizar o contedo das variveis usar o cone Data Editor
(Browse) para visualizar o contedo em forma de planilha. Observe que as variveis so
colocadas nas colunas e as observaes nas linhas. Enquanto voc estiver no modo Browse
voc no poder executar outro comando. Para isso ter que fechar a janela do Browse e
retornar para a janela principal do Stata.
Se voc quiser repetir um comando no precisa digit-lo de novo. Basta localizar o
comando na janela Review e selecion-lo, clicando em cima dele. Esta ao copiar o comando
para a janela Command. A basta voc teclar [ENTER] para rodar o comando novamente. Ou
voc tambm pode rodar o comando novamente clicando duas vezes em cima do comando na
janela Review. Ou, ainda, usando as teclas Page Up e Page Down para recuperar na janela
Command os ltimos comandos digitados.

Obtendo frequncias simples de variveis tabulate


Para se obter uma tabela de distribuio de frequncias de uma varivel, utiliza-se o
comando tabulate. Vamos obter uma tabela de distribuio de frequncias da varivel tipo de
parto (parto). No menu clique em Statistics / Summaries, tables and tests / Tables / Oneway tables. Surgir a janela de dilogos tabulate 1 One-way tables, Escolha em categorical
variables a varivel parto e tecle OK.
Outra alternativa digitar na janela Command:
tabulate tiparto
No Stata possvel abreviar os comandos para digitao, usando-se as trs primeiras
letras do comando. Desta forma voc obteria o mesmo resultado digitando:
tab tiparto
parto |
Freq.
Percent
Cum.
------------+----------------------------------1 |
82,964
67.24
67.24
2 |
40,416
32.76
100.00
9 |
4
0.00
100.00
------------+----------------------------------Total |
123,384
100.00

Apostila Stata

Consultando a tabela de codificao observamos que 1=parto vaginal, 2= parto


cesreo e 9=ignorado. Observe que o total 123.384 no o mesmo total geral do arquivo
123.635, indicando que alguns casos foram deixados em branco no banco de dados. O Stata
usa o cdigo . para indicar dados no digitados. Para se verificar isso necessrio digitar a
opo missing aps o comando tab, que pode ser abreviada para mis. Note que para se usar
uma opo de comando necessrio separar o comando da sua opo por uma vrgula.
tab tiparto, mis
parto |
Freq.
Percent
Cum.
------------+----------------------------------|
251
0.20
0.20
1 |
82,964
67.10
67.31
2 |
40,416
32.69
100.00
9 |
4
0.00
100.00
------------+----------------------------------Total |
123,635
100.00
Observe que alm de 4 partos codificados como 9, ignorados, existem ainda 251
casos sem informao do tipo de parto. Podemos descartar estes casos prejudicados da
anlise utilizando o comando recode, para se trabalhar apenas com os casos com informao
completa.
recode parto 9=.
tab parto
parto |
Freq.
Percent
Cum.
------------+----------------------------------1 |
82,964
67.24
67.24
2 |
40,416
32.76
100.00
------------+----------------------------------Total |
123,380
100.00
Podemos verificar agora que a taxa de cesreas no Maranho em 2009 foi de
32,76%.

Renomeando variveis - rename


Podemos mudar os nomes das variveis usando o comando rename. Vamos mudar o nome
da varivel parto para tiparto
rename parto tiparto

Apostila Stata

Rotulando variveis e valores - label


Agora precisamos documentar o arquivo e torn-lo mais fcil de ser entendido,
utilizando rtulos (labels). Primeiro vamos documentar as variveis. No use acentos ou
cedilha pois ficar ininteligvel ( o programa no entende smbolos do portugus).
Observe que necessrio colocar o rtulo da varivel entre aspas.
label variable tiparto Tipo de parto
Use agora o comando describe para observar o resultado. Veja que agora a varivel
tiparto tem uma variable label: Tipo de parto
describe tiparto

storage display
value
variable name
type
format
label
variable label
---------------------------------------------------------------------tiparto
float %9.0g
Tipo de parto

Vamos usar agora o recurso de rotular valores de variveis numricas. Por exemplo,
vamos dizer que, no caso da varivel tiparto, 1 significa parto vaginal e 2 parto
cesreo, usando os comandos label define e label values. No primeiro comando, label
define, os rtulos so definidos como 1 para parto vaginal e 2 para parto cesreo. No
segundo comando, os valores do rtulo tipo so colocados na varivel tiparto.
label define tipo 1 vaginal 2 cesareo
label values tiparto tipo
Agora, ao pedir uma tabulao observe que o valor 1 substitudo por vaginal e o
valor 2 por cesreo.
tab tiparto
Tipo de |
parto |
Freq.
Percent
Cum.
------------+----------------------------------vaginal |
82,964
67.24
67.24
cesareo |
40,416
32.76
100.00
------------+----------------------------------Total |
123,380
100.00

Apostila Stata

Use agora o comando describe para observar o resultado e verificar que agora a
varivel tiparto tem um rtulo chamado tipo:
describe tiparto

storage display
value
variable name
type
format
label
variable label
---------------------------------------------------------------------tiparto
float %9.0g
tipo
Tipo de parto

Entretanto, o valor da varivel no arquivo no foi modificado. Para observar isto pea
uma tabulao omitindo o rtulo, usando a opo nolabel.
tab tiparto, nolabel
Tipo de |
parto |
Freq.
Percent
Cum.
------------+----------------------------------1 |
82,964
67.24
67.24
2 |
40,416
32.76
100.00
------------+----------------------------------Total |
123,380
100.00

Se voc quiser, voc pode pedir uma lista dos rtulos e dos seus contedos:
label list

. label list
tipo:
1 vaginal
2 cesareo
Todas as opes de mudar o nome da varivel (rename), colocar um rtulo na varivel
(label variable), criar rtulos para categorias (label define) e colocar rtulos nas categorias
das variveis (label values) esto tambm disponveis no cone Variables Manager na barra
de cones.

Apostila Stata

10

Exerccios
No se esquea de anotar os comandos utilizados para obter os resultados. Descarte
os valores ignorados se os percentuais forem baixos (inferiores a 2%).
1)
2)
3)
4)
5)
6)

Apostila Stata

Usando os comandos aprendidos acima, verifique a taxa de partos


gemelares no Maranho em 2009.
Qual o percentual de mulheres que no realizaram pr-natal?
Qual o percentual de nascimentos no domiclio?
Use o recurso de rotular valores para a varivel estcivmae.
Qual o percentual de nascimentos de mulheres solteiras?
Qual o percentual de nascimentos de mulheres com nenhuma escolaridade?

11

Criando arquivos no Stata - edit


Vamos agora gerar um arquivo simples, contendo 4 campos. Para criar um arquivo no
Stata basta clicar no boto Data Editor (Edit) ou digitar na janela de comandos edit.
Surge o editor, pronto para se digitar o primeiro registro da primeira varivel (var1).
Aqui voc pode ir digitando nas colunas os contedos das variveis que o Stata vai
automaticamente criando as variveis var1, var2, var3 etc. O programa, a partir do
que digitado, vai automaticamente criando variveis numricas ou categricas,
conforme o caso e determinando o tamanho de cada campo. Depois voc pode mudar o
nome de cada campo, por exemplo de var1 para idade. Quando a casela for deixada
em branco o Stata coloca automaticamente o seu cdigo para dado prejudicado
(missing) que o ponto. Vamos comear, criando o arquivo abaixo:
Digite inicialmente s os dados nas colunas e depois vamos aprender o comando para
gerar o nome da varivel. Digite 2350 e tecle ENTER para o cursor se mover para a
casela de baixo e assim sucessivamente. Quando digitar o 5o. dado da 1a. coluna passe
com as setas ou com o mouse para a 1a. casela da 2a. coluna e assim por diante. Quando
terminar feche o editor clicando no boto X, pois enquanto o modo Edit estiver ativo,
voc no poder executar comando no Stata. Observe, na janela Variables, que surgem
var1, var2, var3, var4 e var5 e na janela Review, edit.

pesonasc

tiparto
2350
1500
3430
2920
3100

idgest
1
2
1
1
2

idmae
40
33
41
38
39

sexo
30
22
19
33
25

1
1
1
2
2

No Stata os nomes de variveis so minsculos. Depois da digitao de dados, a


primeira coisa que voc deve fazer salvar os dados. V at a janela de comandos e
digite, sempre em minsculas:
save rn
O Stata avisa

e tecle [ENTER]
file rn.dta saved (arquivo rn.dta salvo)

Aqui voc pode observar que o Stata usa .dta como terminao de arquivo. Utilize
agora o comando describe para observar os tipos de variveis criadas pelo Stata.
describe

Apostila Stata

e tecle [ENTER]

12

Contains data from rn.dta


obs:
5
vars:
5
size:
50 (100.0% of memory free)
------------------------------------------------------------------1. var1
int
%8.0g
2. var2
byte
%8.0g
3. var3
byte
%8.0g
4. var4
byte
%8.0g
5. var5
byte
%8.0g
------------------------------------------------------------------Sorted by:

Todas as variveis criadas so numricas (int e byte) e todas de tamanho 8 (%8.0g).


Outros tipos de variveis numricas so long, float and double. A diferena entre
estes tipos de variveis numricas o seu tamanho e a preciso dos clculos,
determinada pelo nmero de casas decimais depois da vrgula.
Outro tipo de varivel que pode ser criada no Stata so as variveis do tipo caracter,
usadas para armazenar informao no numrica, ou seja, endereo, nome, telefone.
Estas variveis podem conter nmeros, mas no vamos realizar operaes matemticas
com estes nmeros, eles servem apenas como identificadores.
Vamos pedir agora uma listagem do arquivo.
list

1.
2.
3.
4.
5.

var1
2350
1500
3430
2920
3100

var2
1
2
1
1
2

var3
40
33
41
38
39

var4
30
22
19
33
25

var5
1
1
1
2
2

Estatstica descritiva
E agora pea uma estatstica descritiva destes campos.
summarize
Variable |
Obs
Mean
Std. Dev.
Min
Max
---------+----------------------------------------------------var1 |
5
2660
757.5949
1500
3430
var2 |
5
1.4
.5477226
1
2
var3 |
5
38.2
3.114482
33
41
var4 |
5
25.8
5.718391
19
33
var5 |
5
1.4
.5477226
1
2

Apostila Stata

13

O Stata mostra o nmero de observaes, a mdia (mean), o desvio padro (Std. Dev.),
o valor mnimo e o valor mximo. Note que no caso das variveis tiparto e sexo, a mdia
no tem valor algum, pois estas variveis esto codificadas. No caso de tiparto
(1=parto vaginal; 2=parto cesreo) e no caso de sexo (1=masculino; 2=feminino).

Renomeando variveis - rename


O prximo passo mudar os nomes das variveis.
rename
rename
rename
rename
rename

var1
var2
var3
var4
var4

pesonasc
tiparto
idgest
idmae
sexo

Rotulando variveis e valores - label


Agora vamos rotular as variveis.
label
label
label
label
label

variable
variable
variable
variable
variable

pesonasc Peso ao nascer no HU em 1998


tiparto Tipo de parto
idgest Idade gestacional em semanas-DUM
idmae Idade da mae em anos completos
sexo Sexo do recem-nascido

Use agora o comando describe para observar o resultado:


describe
Contains data from rn.dta
obs:
5
vars:
5
size:
50 (99.9% of memory free)
------------------------------------------------------------------------------1. pesonasc
int
%8.0g
Peso ao nascer no HU em 1998
2. tiparto
byte
%8.0g
Tipo de parto
3. idgest
byte
%8.0g
Idade gestacional semanas-DUM
4. idmae
byte
%8.0g
Idade da mae em anos completos
5. sexo
byte
%8.0g
Sexo do recem-nascido
------------------------------------------------------------------------------Sorted by:
Note: data has changed since last save

Para salvar as alteraes feitas digite:

Apostila Stata

14

save, replace (salva, grava por cima do arquivo antigo com o mesmo nome rn)
Vamos usar agora o recurso de rotular valores de variveis numricas. Por exemplo,
vamos dizer que no caso da varivel tiparto 1 significa parto vaginal e 2 parto cesreo,
usando os comandos label define e label values.
label define tipo 1 vaginal 2 cesareo
label values tiparto tipo

Distribuio de frequncias - tabulate


Pea agora a distribuio de freqncias da varivel tiparto para observar o que
ocorreu:
tabulate tiparto
Tipo de
|
parto
|
Freq.
Percent
Cum.
------------+----------------------------------vaginal |
3
60.00
60.00
cesareo |
2
40.00
100.00
------------+----------------------------------Total |
5
100.00
Salve novamente as alteraes, usando a opo replace para substituir (gravar por
cima) o arquivo anterior:
save, replace
Outro recurso importante ordenar o contedo de um campo com o comando sort:
sort tiparto
list
Para fechar o arquivo e limpar a memria digite:
clear
Para abrir novamente o arquivo use o menu File e, em seguida, Open. Clique no arquivo
rn e no boto abrir. Ou, alternativamente, digite:
use rn

Apostila Stata

15

Criao de novas variveis generate


e recodificao replace
Vamos recodificar o peso ao nascer em baixo peso (aquelas crianas com menos de
2500 gramas ao nascer) e no baixo peso (2500 gramas e mais). O primeiro passo
criar uma nova varivel atravs do comando generate. Toda varivel criada no Stata
tem que ser inicializada com um valor especfico. No caso criaremos a varivel peso=0
e recodificaremos pesonasc < 2500, criando peso=1 nestes casos.
generate peso=0
replace peso=1 if pesonasc < 2500
tabulate peso
peso
|
Freq.
Percent
Cum.
------------+----------------------------------0 |
3
60.00
60.00
1 |
2
40.00
100.00
------------+----------------------------------Total |
5
100.00
Da mesma forma vamos recodificar idade gestacional em prematuro (<37 semanas) e
no prematuro (37 semanas e mais).
generate premat=0
replace premat=1 if idgest < 37
tabulate premat

premat
|
Freq.
Percent
Cum.
------------+----------------------------------0 |
4
80.00
80.00
1 |
1
20.00
100.00
------------+----------------------------------Total |
5
100.00

Operadores de comparao (usados aps o if)


==
!=
>
<
>=
<=

Apostila Stata

igual a
diferente de
maior do que
menor do que
maior ou igual
menor ou igual

16

Tabelas 2 x 2 - tabulate
Pea agora uma tabela de peso com idade gestacional, com a opo row (para o clculo
dos percentuais das linhas)
tabulate premat peso, row
| peso
premat |
0
1 |
Total
-----------+----------------------+---------0 |
3
1 |
4
|
75.00
25.00 |
100.00
-----------+----------------------+---------1 |
0
1 |
1
|
0.00
100.00 |
100.00
-----------+----------------------+---------Total |
3
2 |
5
|
60.00
40.00 |
100.00
Observe que a taxa de baixo peso nesta populao de 40%. Dentre os prematuros
(codificados como 1), 100% tm baixo peso e que dentre os no prematuros
(codificados como 0), 25% tm baixo peso.
Vamos pedir agora a tabela diferente, isto , peso e prematuridade, com os
percentuais das colunas, colocando a varivel resposta (peso ao nascer) nas linhas e a
exposio (idade gestacional) nas colunas.
tabulate peso premat, col
| premat
peso |
0
1 |
Total
-----------+----------------------+---------0 |
3
0 |
3
|
75.00
0.00 |
60.00
-----------+----------------------+---------1 |
1
1 |
2
|
25.00
100.00 |
40.00
-----------+----------------------+---------Total |
4
1 |
5
|
100.00
100.00 |
100.00
Operadores lgicos:
&
|
!

Apostila Stata

e
ou
no

17

Selecionando registros para processamento


keep / drop
s vezes se precisa limitar o processamento a determinados registros. Digamos que se
queira processar apenas os registros do sexo masculino (1). Pode-se usar o comando
keep, selecionado sexo==1 ou drop, desprezando-se sexo==2. Note que aps o if voc
precisar usar dois smbolos de igual ==
keep if sexo==1
drop if sexo==2

Cuidado com o uso destes comandos, pois os registros sero apagados


definitivamente! Por isso recomendamos que, toda vez que voc usar drop ou keep,
salve o arquivo com outro nome em seguida, preservando o arquivo original.

Gravando o processamento em um arquivo log


Quando se processa grande quantidade de informao, a sada de dados vai rolando para
cima na janela Results e voc vai deixando de observar os resultados. Para isto grave a
sada em um arquivo .log, usando o comando abaixo:
log using rn.txt, text
Os resultados do processamento de dados sero gravados no arquivo rn.txt, em formato
texto. Este arquivo poder depois ser aberto em um processador de textos e as tabelas
utilizadas nos seus relatrios.

Apostila Stata

18

Exerccios arquivo dnma.dta


Anote os comandos utilizados para obter os resultados. Descarte os valores
ignorados se os percentuais forem baixos (inferiores a 2%).
1) Use o comando keep para trabalhar apenas com os dados de mes residentes no
municpio de So Lus. O cdigo de So Lus 211130.
2) Recodifique a varivel peso ao nascer em <2500 e maior ou igual a 2500 gramas.
3) Coloque rtulo na varivel peso ao nascer.
4) Coloque rtulo nas categorias de peso ao nascer.
5) Pea uma listagem dos rtulos.
6) Qual o percentual de recm-nascidos em So Lus com baixo peso ao nascer?
7) Pea uma tabulao das variveis tipo de parto e peso ao nascer. Coloque o tipo de
parto na linha e o peso ao nascer na coluna. Pea o clculo da porcentagem da linha.
8) Qual o percentual de baixo peso ao nascer dentre os nascidos de parto vaginal?
9) Qual o percentual de baixo peso ao nascer dentre os nascidos de parto cesreo?

Apostila Stata

19

Gerando programas no Stata arquivo do


Geralmente quando vai processar muitos dados conveniente, ao invs de ir processando
e obtendo resultados de forma interativa, gravar os comandos Stata em um arquivo tipo
texto com a extenso .do e depois executar todos os comandos deste arquivo de uma s
vez, em lote. Vamos criar um pequeno programa para rodar no Stata. Para isto clique no
boto New Do-file Editor e digite as seguintes linhas de comandos. Depois salve o
arquivo com o nome rn.do.
use rn
log using rn.txt, text replace
label variable pesonasc "Peso ao nascer no Maranhao em 2009"
generate peso=0
replace peso=1 if pesonasc < 2500
tabulate peso
Agora execute o programa no Stata. Para isto voc tem vrias alternativas:
a) Escolha, ainda dentro do Do-file Editor a ltima opo da barra de cones - Execute
(do)
b) No menu do Stata, clique em File, escolha a opo Do, clique em cima de rn.do e
clique em Abrir.
c) Ou digite na janela de comandos:
do rn
O Stata vai executar de uma s vez todos os comandos acima e gravar os resultados do
processamento no arquivo rn.txt, em formato texto.
Veja, abaixo, uma descrio de cada comando:
use rn
Abre o arquivo rn.dta se o arquivo estiver na pasta corrente. Se no ser necessrio
indicar o caminho completo para que o Stata possa abrir o arquivo.
log using rn.txt, text replace
Passa a graver os comandos e o resultado do processamento no arquivo rn.txt, em
format texto. A opo replace usada para substituir (gravar por cima) do arquivo
criado anteriormente com o mesmo nome.
label variable pesonasc "Peso ao nascer no Maranhao em 2009"
coloca rtulo na varivel pesonasc

generate peso=0

Apostila Stata

20

cria uma nova varivel e coloca o valor zero em todas as obervaes


replace peso=1 if pesonasc < 2500
Substitui na varivel peso 0 por 1, se o peso ao nascer na varivel pesonasc for < 2500
gramas
tabulate peso
Gera uma tabela da nova varivel peso

O uso do Stata escolhendo os comandos no menu til para se descobrir novos


comandos que no conhecemos, pois os comandos so copiados para a janela Command e
podemos ento verificar o que o Stata fez e aprender novos comandos. Entretanto, um
procedimento demorado e que no pode ser automatizado, por meio da gerao de
arquivo DO, para processamento de vrios campos e para realizar anlise estatstica.
Desta forma, para se fazer uma boa anlise estatstica dos dados melhor usar o Stata
digitando os comandos, ao invs de usar o menu e utilizar a opo de gerar comandos em
arquivo DO. Se houver algum erro nos dados ou nos comandos voc pode facilmente
editar o arquivo DO, corrigir o erro e rod-lo novamente, poupando tempo.
IMPORTANTE:
Algumas mensagens de erro podem surgir quando trabalhamos com arquivos DO.

1) no; data in memory would be lost


. use dnma
no; data in memory would be lost
r(4);
Quando voc tentar abrir um arquivo que foi modificado na memria e no foi salvo, o
Stata avisa: no; os dados na memria seriam perdidos (no; data in memory would
be lost).
Soluo para este erro: salvar o arquivo ou usar o comando clear para limpar a memria
sem salvar o arquivo. Normalmente no salvamos o arquivo original. O ideal deixar o
arquivo original intacto, gravar os comandos em um arquivo DO e executar os comandos
de uma s vez, gerar um arquivo LOG com os resultados e nunca salvar por cima do
arquivo original. Se voc desejar salvar o arquivo modificado, salve sempre com outro
nome, como por exemplo:
save rn1

Apostila Stata

21

2) log file already open


. log using dnma
log file already open
r(604);
end of do-file
r(604);
Quando voc tentar gerar um arquivo LOG e houver um arquivo LOG aberto, o Stata
avisa: arquivo LOG ainda aberto (log file already open).
Soluo para este erro: digitar log close.

3) file ......... already exists


. log using dnma
file /Arquivos de Programas/Stata/dnma.txt already exists
r(602);
end of do-file
r(602);
Se voc tentar gravar por cima de um arquivo existente, o Stata avisa. Se voc quiser
mesmo gravar por cima s usar a opo replace, no comando log using. Se quiser
preservar o arquivo LOG anterior, basta gravar o resultado em outro arquivo, com outro
nome.

Apostila Stata

22

Importando dados do Excel


Para trabalhar com dados no Stata necessrio inicialmente ter o arquivo disponvel
em formato .dta. Para isto voc pode criar o banco de dados no prprio Stata, importar do
Excel ou importar de outro programa. Existe um programa chamado StatTransfer que realiza
transferncia de arquivos de vrios programas entre si. Se voc tiver um banco de dados
disponvel no formato .xls (do Excel) voc pode usar o StatTranfer para fazer a
transferncia.
Outra alternativa para importar dados do Excel para o Stata abrir o banco de dados
no Excel, selecionar tudo o que deseja transferir e usar o recurso de corte e cola do sistema
operacional (CTRL+C, CTRL+V). Vamos fazer isto passo a passo:
Inicialmente abra Excel e, em seguida, o arquivo dcor.xls localizado na pasta do
Stata. Selecione todos os dados que deseja transferir. Depois disso copie os dados para a
rea de trabalho (Editar / Copiar ou CTRL+C). Abra o Stata, e digite edit ou clique o cone
Data Editor (Edit) na barra de cones. Dentro do editor agora escolha a opo Colar (CTRL+V)
ou Edit / Paste. O Stata vai perguntar se voc deseja considerar a primeira linha como dados
ou como nome de variveis (treat first row as data / treat first row as variable names).
Escolha considerar a primeira linha como nomes de variveis. Pronto, a planilha foi transferida
para o Stata. S falta agora salvar o arquivo. Feche o editor de dados no X. E agora salve o
banco de dados com o nome dcor.dta.

Apostila Stata

23

Usando o arquivo dcor.dta


Vamos usar os comandos aprendidos acima, desta vez com um arquivo maior, o dcor.dta.
Este arquivo armazena as variveis do estudo FRAMINGHAM HEART STUDY,
realizado nos Estados Unidos, onde se acompanhou durante 18 anos a populao da
pequena cidade de Framingham, para estudar os fatores de risco para doena
coronariana, realizando exames peridicos de 2/2 anos. Abra o arquivo dcor.dta e pea
describe, summarize e depois clique no boto Browse, para ver as variveis do banco de
dados. Compare com a descrio abaixo:
sex
chd

age
sbp
sbp10
dbp
chol
frw

cig
yrs_chd

yrs_dth
death
cause

Apostila Stata

1=masculino 0=feminino
diagnstico de doena coronariana
0=no tem
1= doena coronariana
presente ao primeiro exame (casos prevalentes) 2-10 = nmero do exame em
que foi feito o diagnstico (casos incidentes).
idade em anos ao exame inicial (45-62 anos)
presso arterial sistlica em mmHg no primeiro exame (90-300 mmHg)
presso arterial sistlica em mmHg no dcimo exame (94-264 mmHg). Em 635
casos a informao est prejudicada.
presso arterial diastlica em mmHg no primeiro exame (50-160 mmHg)
colesterol srico em mg/100 ml no primeiro exame (96-430 mg/100ml)
peso relativo em percentual no primeiro exame (11 casos prejudicados 52222). O peso relativo foi calculado a partir da razo entre o peso da pessoa em
relao ao peso mediano para o seu grupo de sexo/altura.
nmero de cigarros fumados por dia
0=no fumante (1-60, 1 dado
prejudicado)
pessoas-ano de observao at ocorrer perda ou o primeiro evento de doena
coronariana (43 pessoas j tinham doena coronariana ao primeiro exame e,
portanto, no estavam mais sob risco, varia de 0 a 18 anos)
pessoas-ano de observao para mortalidade (varia de 1 a 18 anos)
0=vivo 2-10 = nmero do exame em que j estava morto
causa do bito (19 casos prejudicados)
0 vivo ao primeiro exame
1 doena coronariana (sbita)
2 doena coronariana (no sbita)
3 acidente vascular enceflico
4 outra doena cardiovascular
5 cncer
6 outro

24

Recodificao e tabulao replace, recode, tab


Teste do qui-quadrado
Vamos recodificar o nvel de colesterol srico em 3 classes: < 220, 220 a 259 e 260 e
mais.
generate col=0
replace col=1 if chol >=220 & chol <=259
(&=e operador lgico)
replace col=2 if chol >= 260
label variable col colesterol em mg/100ml
label define colest 0 <220 1 220a259 2 260+
label values col colest
tabulate col

colesterol |
em mg/100ml |
Freq.
Percent
Cum.
------------+----------------------------------<220 |
531
37.77
37.77
220a259 |
478
34.00
71.76
260+ |
397
28.24
100.00
------------+----------------------------------Total |
1406
100.00

Voc tambm pode usar ao invs de replace o comando recode. Veja abaixo:
generate col2=chol
recode col2 96/219=0 220/259=1 260/430=2
label variable col2 colesterol em mg/100ml
label values col2 colest
tabulate col2
Vamos recodificar a presso arterial sistlica em 0 (risco basal pA menor que 165
mmHg) e 1 (risco, pA igual ou maior que 165 mmHg).
generate pas=.
replace pas=1 if sbp>=165
replace pas=0 if sbp<165
label variable pas "pA sistolica - mmHg"
label define pressao 0 "<165" 1 "165+"
label values pas pressao
tabulate pas

Apostila Stata

25

pA sistolica|
- mmHg
|
Freq.
Percent
Cum.
------------+----------------------------------<165 |
313
22.26
22.26
165+ |
1093
77.74
100.00
------------+----------------------------------Total |
1406
100.00
Vamos recodificar nmero de cigarros fumados em 0 (no fumante) e 1 (fumante),
excluindo 1 caso prejudicado (cig=99):
generate fumo=0
replace fumo=1 if cig!=0
replace fumo=. if cig==99
label define cigarro 0 "nao" 1 "sim"
label values fumo cigarro
tabulate fumo

( !=

diferente de)

fumo
|
Freq.
Percent
Cum.
------------+----------------------------------nao |
772
54.95
54.95
sim |
633
45.05
100.00
------------+----------------------------------Total |
1405
100.00
Qual o percentual de fumantes nesta populao ?
Vamos agora recodificar chd, considerando 0 como no tendo doena coronariana e de 2
a 10 como casos de doena coronariana, excluindo 1 (casos prevalentes, isto , pessoas
que j tinham doena coronariana ao primeiro exame. Observe que transformamos 1 em .
(missing prejudicado). Desta forma o programa no processar mais estes registros
nas sadas posteriores.
generate dc=chd
recode dc 0=0 1=. 2/10=1
label variable dc doenca coronariana
label define doenca 0 nao" 1 sim
label values dc doenca
tabulate dc
doenca
|
coronariana |
Freq.
Percent
Cum.
------------+----------------------------------nao |
1095
80.34
80.34
sim |
268
19.66
100.00
------------+----------------------------------Total |
1363
100.00
Qual a incidncia de doena coronariana nesta populao ?

Apostila Stata

26

Vamos pedir agora uma tabulao de colesterol e doena coronria, para verificar se o
colesterol um fator de risco para doena coronariana, pedindo percentuais de linha e o
clculo do Qui-quadrado.
tabulate col dc, row chi2
colesterol | doenca coronariana
em mg/100ml|
nao
sim |
Total
-----------+----------------------+---------<220 |
423
96 |
519
|
81.50
18.50 |
100.00
-----------+----------------------+---------220a259 |
377
81 |
458
|
82.31
17.69 |
100.00
-----------+----------------------+---------260+ |
295
91 |
386
|
76.42
23.58 |
100.00
-----------+----------------------+---------Total |
1095
268 |
1363
|
80.34
19.66 |
100.00
Pearson chi2(2) =

5.3202

Pr = 0.070

Observe a taxa de incidncia de doena coronariana nos diversos nveis de colesterol


srico. O valor de p do Qui-quadrado foi de 0.070, portanto maior que o nvel crtico de
0.05. Diz-se, ento, baseado no teste de hiptese, que no h diferena
estatisticamente significante entre ter colesterol elevado e sofrer de doena
coronariana. Em outras palavras, as diferenas nas taxas de incidncia, 18,5% naqueles
com colesterol menor que 220 mg/100ml, 17,7% naqueles com colesterol srico de 220 a
259 mg/100ml e de 23,6% naqueles com colesterol de 260 mg/100ml e mais, no so
estatisticamente significantes.
Pea agora a tabulao da presso sistlica e doena coronariana.
tabulate pas dc, row chi2
pA
| doenca coronariana
sistolica -|
mmHg
|
nao
sim |
Total
-----------+----------------------+---------<165 |
894
173 |
1067
|
83.79
16.21 |
100.00
-----------+----------------------+---------165+ |
201
95 |
296
|
67.91
32.09 |
100.00
-----------+----------------------+---------Total |
1095
268 |
1363
|
80.34
19.66 |
100.00
Pearson chi2(1) =

Apostila Stata

36.9959

Pr = 0.000

27

Observe a diferena nas taxas de incidncia de doena coronariana entre aqueles com
pA sistlica abaixo de 165 mmHg (16,2%) comparados com aqueles com pA sistlica
muito elevada (32,1%). O valor de p para o Qui-quadrado foi de 0.000, portanto
considera-se a diferena amostral observada estatisticamente significante. Desse
modo, a pA muito elevada considerada um fator de risco para doena coronariana.
tabulate fumo dc, row chi2
| doenca coronariana
fumo |
nao
sim |
Total
-----------+----------------------+---------nao |
614
134 |
748
|
82.09
17.91 |
100.00
-----------+----------------------+---------sim |
480
134 |
614
|
78.18
21.82 |
100.00
-----------+----------------------+---------Total |
1094
268 |
1362
|
80.32
19.68 |
100.00
Pearson chi2(1) =

3.2612

Pr = 0.071

Interprete os resultados da tabela acima. Baseado nestes resultados h associao


entre fumo e doena coronariana ?

Apostila Stata

28

Exerccios - arquivo dnma.dta


1)
2)
3)
4)
5)
6)
7)
8)
9)

Crie um arquivo DO para processar os dados do arquivo dnma.dta.


No arquivo Do d um comando para gravar o processamento em um arquivo
LOG, formato texto.
Use o comando keep para trabalhar apenas com os dados de mes
residentes no municpio de So Lus. O cdigo de So Lus 211130.
Recodifique a varivel peso ao nascer em <2500 e maior ou igual a 2500
gramas, usando o comando recode
Coloque rtulo na varivel peso ao nascer.
Coloque rtulo nas categorias de peso ao nascer.
Pea uma listagem dos rtulos.
Qual o percentual de recm-nascidos em So Lus com baixo peso ao
nascer?
Recodifique a varivel idade materna em 3 nveis < 20 anos, 20 a 34 anos e
35 anos e mais.
Coloque rtulo na varivel idade materna.
Coloque rtulo nas categorias de idade materna.
Pea uma listagem dos rtulos.
Pea uma tabulao das variveis idade materna e peso ao nascer. Coloque a
materna na linha e o peso ao nascer na coluna. Pea o clculo da porcentagem da

10)
11)
12)
13)
idade
linha.
14)
Quais os percentuais de baixo peso ao nascer de acordo com as categorias de
idde materna?
15)
Pea uma tabela com o qui-quadrado e verifique se h associao entre idade
materna e baixo peso ao nascer.

Apostila Stata

29

Você também pode gostar