Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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 Stata 12.0 (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, Variables Manager, Clear more
condition e Break.
Na penltima linha da tela, aparece a pasta ativa, isto , onde esto sendo gravados os
dados (c:\data) e a ltima linha a barra do Windows, onde esto os botes Iniciar e
os botes dos programas ativos no momento. A pasta ativa pode variar de acordo com a
instalao do Stata e pode ser modificada pelo usurio (veremos como fazer isto daqui
a pouco).
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 2
Abrindo arquivo no Stata - use
Vamos trabalhar agora com o banco de dados 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-se exames peridicos de 2/2 anos. Veja
na tabela abaixo o nome de cada varivel no arquivo e a sua descrio e codificao (em caso
de varivel categrica) e intervalo de valores (em caso de varivel quantitativa). O arquivo
contm 1406 observaes.
Apostila Stata 3
4 outra doena cardiovascular
5 cncer
6 outro
O primeiro passo abrir o arquivo. Para tanto preciso usar o comando File / Open /
e em seguida localizar o diretrio Stata onde o arquivo dcor.dta est localizado (deve estar
no desktop na pasta Stata12). Em seguida clique em cima do arquivo dcor e escolha a opo
Abrir. Observe que o comando use C;\Users\...\Desktop\Stata12\dcor.dta, clear foi
copiado para a janela Review ( esquerda) e que agora os nomes de variveis aparecem na
janela Variables (acima direita). Neste comando ... significam o nome do usurio ativo do
Windows. Note que a opo clear colocada automaticamente pelo programa para limpar a
memria, caso ela esteja ocupada com algum outro arquivo. O Stata s abre um arquivo por
vez.
Ou voc precisa copiar o arquivo dcor.dta para a pasta ativa antes de usar o comando
use dcor. Ou, ainda, voc pode mudar o drive ativo. No menu, escolha File / Change Working
Directory e escolha a posta onde voc deseja trabalhar. 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:\ Users\...\Desktop\Stata12
use dcor.dta
Apostila Stata 4
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.
Depois de abrir o arquivo dcor.dta, pea o comando describe. Este comando nos
permite visualizar a estrutura atual do arquivo. Este comando descreve todas as variveis do
arquivo e informa o seu tipo e formato. No caso abaixo todas as variveis so do tipo float
(numricas).
describe
. describe
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).
Apostila Stata 5
list
Observe que surgem na tela os primeiros registros. 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 1406 adultos, levaramos muito tempo
visualizando todos eles. Desta forma, localize o X na barra de ferramentas e clique em cima
dele para interromper a listagem. Aps interromper a listagem, pressione seta para cima ou
seta para baixo, ou [Page Up] ou [Page Down] para rolar a tela na janela de resultados para
cima ou para baixo.
Variables
Data
Editor
(Edit)
Manager
Interromper
Apostila Stata 6
(a opo in 1/10 vai listar apenas os 10 primeiros registros).
Vamos abrir agora o arquivo log para verificar que os comandos digitados e os
resultados obtidos esto sendo gravados no arquivo dcor.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. Veja que tudo o que voc digitou ou o
resultado do processamento ocorrido aps a instruo log using aparece neste arquivo
dcor.smcl. Depois de observar isto feche a janela no x.
Outra forma de visualizar o contedo das variveis usar o cone Data Editor
(Browse) para visualizar o contedo em forma de planilha. Clique em cima do Data Editor
(Browse) e 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. No Browse
voc pode filtrar as variveis que vo aparecer na listagem marcando ou desmarcando as
caixas de texto ao lado do nome das variveis.
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 ou Page Down para recuperar na janela
Command os ltimos comandos digitados.
tabulate sex
tab sex
Apostila Stata 7
Consultando a tabela de codificao observamos que 1=masculino, 2=feminino.
Observe que o total de casos de 1406 observaes.
tab cause
. tab cause
. tab cause
Pronto, agora os casos cuja causa da morte foi ignorada foram descartados da
anlise e o total agora 1387. Entretanto, estes casos no foram apagados do banco de
dados. Eles s no aparecem na tabulao. Os casos 9 foram recodificados para . (ponto). O
Stata usa o cdigo . para indicar dados ignorados. O comando tab ignora os valores
codificados como . (ponto), embora eles no tenham sido apagados do banco de dados. Se
voc quiser verificar isso ou se quiser incluir estes casos ignorados na tabulao necessrio
Apostila Stata 8
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.
Use agora o comando describe para observar o resultado. Veja que agora a varivel
cause tem uma variable label (rtulo): Causa da morte.
describe cause
. describe cause
Apostila Stata 9
Rotule tambm a varivel sexo e pea sua descrio em seguida:
describe sexo
. describe sexo
Vamos usar agora o recurso de rotular valores de variveis numricas. Por exemplo,
vamos dizer que, no caso da varivel sexo, 1 significa masculino e 0 feminino, usando os
comandos label define e label values. No primeiro comando, label define, o rtulo de
nome sexo criado e seus valores so definidos como 1 para masculino e 0 para
feminino. No segundo comando, os valores do rtulo sexo so colocados na varivel
sexo.
Agora, ao pedir uma tabulao observe que o valor 1 substitudo por masculino e o
valor 0 por feminino.
tab sexo
. tab sexo
Use agora o comando describe para observar o resultado e verificar que agora a
varivel sexo tem um rtulo (value label) chamado sexo:
describe sexo
. describe sexo
Apostila Stata 10
Entretanto, o valor da varivel no arquivo no foi modificado. Para observar isto pea
uma tabulao omitindo o rtulo, usando a opo nolabel.
Se voc quiser, voc pode pedir uma lista dos rtulos e dos seus contedos:
label list
. label list
sexo:
0 feminino
1 masculino
summarize chol
. summarize chol
Observe que a mdia do colesterol srico foi de 234,72, o desvio padro 46,29, o
valor mnimo 96 e o mximo 430. O comando summarize tambm pode ser digitado na forma
abreviada:
sum chol
Apostila Stata 11
Exerccios
No se esquea de anotar os comandos utilizados para obter os resultados.
Apostila Stata 12
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
mudar 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.
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.
Apostila Stata 13
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:
Outro tipo de varivel que pode ser criada no Stata so as variveis do tipo caracter
ou categricas, 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.
list
Estatstica descritiva
E agora pea uma estatstica descritiva destes campos.
summarize
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 tipo de parto (var2) e
sexo (var5), a mdia no tem valor algum, pois estas variveis esto codificadas. No
Apostila Stata 14
caso de tiparto (1=parto vaginal; 2=parto cesreo) e no caso de sexo (1=masculino;
2=feminino).
describe
save, replace (salva, grava por cima do arquivo antigo com o mesmo nome -
rn)
Apostila Stata 15
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.
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
sort tiparto
list
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 16
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
generate premat=0
replace premat=1 if idgest < 37
tabulate premat
== igual a
!= diferente de
> maior do que
< menor do que
>= maior ou igual
<= menor ou igual
Apostila Stata 17
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)
| 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 amostra 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.
| 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:
& e
| ou
! no
Apostila Stata 18
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
Apostila Stata 19
Exerccios arquivo nascma.dta
Vamos trabalhar agora com o banco de dados nascma.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 20
1) Use o comando keep para trabalhar apenas com os dados de mes residentes no
municpio de So Lus (capital).
2) Recodifique a varivel peso em <2500 e maior ou igual a 2500 gramas. Recodifique
os valores ignorados como . (ponto).
3) Coloque o rtulo peso ao nascer na varivel peso
4) Coloque rtulo nas categorias da varivel peso.
5) Pea uma listagem dos rtulos.
6) Qual o percentual de recm-nascidos em So Lus com baixo peso ao nascer?
7) Coloque o rtulo tipo de parto na varivel parto.
8) Coloque rtulo nas categorias da varivel parto.
9) Recodifique os valores ignorados da varivel parto como . (ponto).
10) 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.
11) Qual o percentual de baixo peso ao nascer dentre os nascidos de parto vaginal?
12) Qual o percentual de baixo peso ao nascer dentre os nascidos de parto cesreo?
Apostila Stata 21
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 nascma.do.
use nascma
log using nascma.txt, text replace
label variable peso "Peso ao nascer no Maranhao em 2009"
generate pesonasc=0
replace pesonasc=1 if peso < 2500
replace pesonasc=. if peso==9999
tabulate pesonasc
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 nascma.do e
clique em Abrir.
c) Ou digite na janela de comandos:
do nascma
O Stata vai executar de uma s vez todos os comandos acima e gravar os resultados do
processamento no arquivo nascma.txt, em formato texto.
use nascma
Abre o arquivo nascma.dta se o arquivo estiver na pasta corrente. Se no ser
necessrio indicar o caminho completo para que o Stata possa abrir o arquivo.
Apostila Stata 22
generate pesonasc=0
Cria uma nova varivel pesonasc e coloca o valor zero em todas as obervaes
tabulate pesonasc
Gera uma tabela da nova varivel peso
IMPORTANTE:
Algumas mensagens de erro podem surgir quando trabalhamos com arquivos DO.
. use nascma
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 nascma1
Apostila Stata 23
2) log file already open
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).
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 24
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:
Apostila Stata 25
Usando o arquivo dcor.dta
Vamos usar os comandos aprendidos acima, desta vez com o arquivo dcor.dta.
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"
Apostila Stata 26
label define pressao 0 "<165" 1 "165+"
label values pas pressao
tabulate pas
pA sistolica|
- mmHg | Freq. Percent Cum.
------------+-----------------------------------
<165 | 313 22.26 22.26
165+ | 1093 77.74 100.00
------------+-----------------------------------
Total | 1406 100.00
generate fumo=0
replace fumo=1 if cig!=0 ( != diferente de)
replace fumo=. if cig==99
label define cigarro 0 "nao" 1 "sim"
label values fumo cigarro
tabulate fumo
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
Apostila Stata 27
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.
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
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.
Observe que o Stata arredondou o valor de p para zero. Na realidade o valor de P foi
Apostila Stata 28
muito baixo e quando isto acontece colocamos no relatrio p<0,001, pois no existe valor
de P igual a zero.
| 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
Apostila Stata 29
Exerccios - arquivo nascma.dta
Apostila Stata 30
Grficos
Existem grficos para variveis qualitativas e grficos para variveis quantitativas.
Vamos agora plotar a mdia da presso arterial sistlica de acordo com o sexo em um
grfico de barras:
Apostila Stata 31
Quantitativas no caso das variveis quantitativas os grficos mais usados so o histograma
e o polgono de freqncias. O histograma o grfico com as colunas contguas e o polgono
de freqncias o grfico de linhas.
histogram sbp
Outro grfico muito usado o diagrama de disperso, quando voc quiser relacionar
duas variveis quantitativas. Vamos verificar se medida em que aumenta a presso arterial
sistlica tambm aumenta o colesterol srico.
Apostila Stata 32
Exerccios grficos
Apostila Stata 33
Anlise exploratria de dados estatstica
descritiva
a. Comparando-se a mdia com a mediana. Quando a distribuio for simtrica seus valores
sero coincidentes ou prximos.
b. Pelo valor da medida de assimetria (skewness). Se o valor for negativo, a distribuio
est desviada para a esquerda. Se o valor for positivo, est desviada para a direita. Uma
distribuio razoavelmente simtrica tem coeficiente de assimetria variando entre 1 e
+1.
Apostila Stata 34
d. Visualmente no grfico (histograma ou box plot, onde se verifica a presena de valores
extremos outliers) e se pode verificar o formato da distribuio, identificando-se
assimetria ou curtose.
e. Por um teste que avalie a normalidade da distribuio (Kolmogorov-Smirnov ou Shapiro
Wilk). Quanto o valor de p nestes testes for menor do que 0.05 a distribuio no
normal.
1. Na seguinte srie numrica, que expressa a durao da ausncia ao trabalho em dias por
motivo de doena, calcule as medidas de tendncia central e disperso e responda s
perguntas abaixo. Aps entrar no Stata, clique no boto Data Editor (Edit), ou acesse e
menu Data e depois Data Editor. Digite os nmeros abaixo:
1 1 2 2 3 3 4 4 4 4 5 6 6 6 6 7 8 10 10 38 80
Apostila Stata 35
Anote os valores abaixo:
a. Mdia (Mean)=
b. Mediana (50%)=
c. Percentil 25=
d. Percentil 75=
e. Amplitude interquartil (P75 P25)=
f. Varincia=
g. Desvio-padro (Std. Dev.)=
h. Assimetria (Skewness)=
i. Curtose (Kurtosis)=
Apostila Stata 36
Comando pelo menu: No menu escolha Statistics, e a seguir clique em Summaries,
Tables, & Tests, Distributional Plots & Tests e Normal quantile plot. Na caixa de
dilogo, indique var1. Clique finalmente em OK para concluir.
Comando digitado: qnorm var1
Para a srie de dados anterior, voc utilizaria a mdia ou a mediana como medida de
tendncia central ? Por qu ?
Repita os mesmos procedimentos para os valores abaixo, que representam o dimetro dos
sarcomas removidos das mamas de 20 mulheres:
0,5 1,2 2,1 2,5 2,5 3,0 3,8 4,0 4,2 4,5 5,0
5,0 5,0 5,0 6,0 6,5 7,0 8,0 9,5 13,0
j. Mdia (Mean)=
k. Mediana (50%)=
l. Percentil 25=
m. Percentil 75=
n. Amplitude interquartil (P75 P25)=
o. Varincia=
p. Desvio-padro (Std. Dev.)=
q. Assimetria (Skewness)=
r. Curtose (Kurtosis)=
Apostila Stata 37
B. Desenhar um histograma para visualizar assimetria
Comando pelo menu: No menu escolha Graphics, e depois Histogram. Na caixa de dilogo,
indique var1. Na caixa de dilogo options voc pode solicitar: add normal density plot.
Clique finalmente em OK para concluir.
Comando digitado: histogram var1, normal
Observe o histograma e avalie se a distribuio simtrica ou assimtrica.
Para a srie de dados anterior, voc utilizaria a mdia ou a mediana como medida de
tendncia central ? Por qu ?
Apostila Stata 38
Transformaes
Se a distribuio no for simtrica temos que usar estimativas no paramtricas ou
ento transformar os dados.
Pode-se avaliar a normalidade da distribuio atravs de testes, como o de Shapiro-
Wilk, mas o melhor mesmo realizar uma anlise exploratria completa dos dados,
comparando a mdia com a mediana, verificando os valores dos coeficientes de assimetria e
curtose, usando mtodos grficos (box-plot) e histograma e realizando tambm testes de
normalidade. Vale ressaltar que os testes de normalidade da distribuio tem poder baixo
para detectar desvios da normalidade no caso de amostras pequenas (n < 30). Por outro lado,
quando o tamanho da amostra for grande, pequenos desvios da normalidade tendem a ser
estatisticamente significantes. Isso porque o valor de P depende tambm do tamanho da
amostra.
Apostila Stata 39
Comando digitado: ladder var1
. ladder var1
Note que apenas a transformao raiz quadrada foi efetiva (P valor > 0,05 no caso
0,699).
Voc tambm pode usar os comandos gladder var1 (Ladder of powers histograms)
para ver os histogramas com as variveis transformadas.
Digite qladder var1 para ver os grficos da normal (Ladder of powers normal quantile
plots) com as variveis transformadas.
Apostila Stata 40
Exerccios transformaes
Vamos agora trabalhar com o arquivo dcor.dta.
Apostila Stata 41
Testes de hipteses para mdias
A realizao de testes de hipteses uma das aplicaes mais usadas em
estatstica. Vamos agora verificar se a mdia do colesterol srico diferente para homens e
mulheres. Ou seja, precisamos utilizar teste de hiptese para a comparao de duas mdias
independentes.
Para isso, necessrio primeiro realizar a estatstica descritiva para a varivel
chol, para verificar se o colesterol srico possui distribuio normal. Se o pressuposto de que
se conhece a distribuio do parmetro na populao puder ser considerado realizaremos um
teste paramtrico. Caso contrrio teremos que realizar uma transformao ou apelar para um
teste no paramtrico (quando no se conhece a distribuio do parmetro na populao ou o
parmetro no segue uma distribuio conhecida).
Para verificar a normalidade, digite os seguintes comandos:
chol
-------------------------------------------------------------
Percentiles Smallest
1% 142 96
5% 165 121
10% 178 126 Obs 1406
25% 200 126 Sum of Wgt. 1406
Apostila Stata 42
histogram chol, normal
swilk chol
. swilk chol
Apostila Stata 43
Observe que a mdia do colesterol srico foi maior para o sexo feminino (242.7
mg/100ml) do que para o masculino (225.9 mg/100ml). Como o valor de P foi <0,001, podemos
concluir que esta diferena foi estatisticamente significante.
Entretanto, o teste t de Student s pode ser usado se as varincias populacionais
forem iguais. ento necessrio realizar um teste formal de igualdade de varincias. Digite:
O p valor para a diferena entre as varincias foi < 0,05, ou seja, rejeitamos a
hiptese de nulidade e conclumos que a diferena entre as varincias estatisticamente
significante. Sendo assim, o teste t no se aplica a este caso.
Assim, podemos tentar realizar uma transformao e realizar o teste t de Student
com os dados transformados. Digite:
ladder chol
. ladder chol
Apostila Stata 44
Sendo assim, temos que realizar um teste no paramtrico (Mann-Whitney), que
indicado para se comparar duas mdias independentes, quando no se puder assumir
normalidade, com o comando:
A nossa concluso no mudaria, pois o valor de P do teste no paramtrico tambm foi < 0,001.
Apostila Stata 45
Estimao: clculo do intervalo de confiana
ci <varivel>
ci chol
. ci chol
-- Binomial Exact --
Variable | Obs Mean Std. Err. [95% Conf. Interval]
---------+-------------------------------------------------------------
| 362 .4226519 .0259631 .3712006 .4753776
Apostila Stata 46
-- Binomial Exact --
Variable | Obs Mean Std. Err. [90% Conf. Interval]
---------+-------------------------------------------------------------
| 362 .4226519 .0259631 .3791524 .4670965
Para entender o que aconteceu, observe que o programa criou a varivel sex1, codificada
em 0 e 1, onde 1=feminino e 0=masculino.
tabulate sex1
tabulate sex2
ci sex1
Observe que 52,4% das observaes foram do sexo masculino, com um intervalo de
confiana de 49,8% a 55,0%.
Apostila Stata 47
ci sex2
Observe que 47,6% das observaes foram do sexo feminino, com um intervalo de
confiana de 45,0% a 50,2%. A criao automtica de variveis dummy uma grande
ferramenta do Stata que facilita bastante as tarefas de modelagem, como veremos
posteriormente.
Outras vezes, podemos querer calcular mdias separadas para cada categoria de uma
varivel qualitativa. Por exemplo, queremos estimar a mdia de colesterol para cada
sexo, com seu respectivo intervalo de confiana. Abra o arquivo dcor.dta. Pea uma
distribuio de freqncias da varivel sex.
. tab sex
| Summary of chol
sex | Mean Std. Dev. Freq.
------------+------------------------------------
0 | 242.70963 48.505208 737
1 | 225.92377 42.03871 669
------------+------------------------------------
Total | 234.72262 46.292908 1406
Pea, agora, o intervalo de confiana do colesterol para cada sexo, mas primeiro
necessrio ordenar o arquivo pela varivel sexo:
sort sex
ci chol, by(sex)
Apostila Stata 48
. ci chol, by(sex)
-------------------------------------------------------------------------------------
-> sex = 0
-------------------------------------------------------------------------------------
-> sex = 1
Em Ribeiro Preto, em 1978, a mdia de peso ao nascer da populao dos nascidos vivos
de parto nico foi de 3234. Em 1994 a mdia de peso ao nascer de uma amostra de 2939
nascidos vivos de parto nico foi de 3113 quilos com desvio padro de 554 gramas.
Pergunta-se: a mdia de peso dos recm-nascidos de 1994 a mesma de 1978 ?
Apostila Stata 49
Clculo das medidas de risco risco relativo
e odds ratio cc, cs
Outra forma de se interpretar os resultados de uma associao epidemiolgica por
meio do clculo de uma medida de risco, como, por exemplo, a razo de chances (odds
ratio). O Stata vai calcular a estimativa pontual para esta medida de risco e seu
intervalo de confiana de 95% pelo mtodo de Cornfield (mais exato que o mtodo de
Woolf). Se o intervalo de confiana incluir o valor 1, considera-se que no h associao.
O comando cc (abreviatura de caso-controle) varivel resposta (no caso dc) e
exposio ou fator de risco (no exemplo fumo). Observe os resultado abaixo e
interprete-os.
cc dc fumo
fumo
Proportion
| Exposed Unexposed | Total Exposed
-----------------+------------------------+----------------------
Cases | 134 134 | 268 0.5000
Controls | 480 614 | 1094 0.4388
-----------------+------------------------+----------------------
Total | 614 748 | 1362 0.4508
| |
| Pt. Est. | [95% Conf. Interval]
|------------------------+----------------------
Odds ratio | 1.279167 | .9792724 1.670906 (Cornfield)
Attr. frac. ex. | .218241 | -.0211663 .4015223 (Cornfield)
Attr. frac. pop | .1091205 |
+-----------------------------------------------
chi2(1) = 3.26 Pr>chi2 = 0.0709
cc dc pas
pA sistolica - mmHg
Proportion
| Exposed Unexposed | Total Exposed
-----------------+------------------------+----------------------
Cases | 95 173 | 268 0.3545
Controls | 201 894 | 1095 0.1836
-----------------+------------------------+----------------------
Total | 296 1067 | 1363 0.2172
| |
| Pt. Est. | [95% Conf. Interval]
|------------------------+----------------------
Odds ratio | 2.442412 | 1.822462 3.273429 (Cornfield)
Attr. frac. ex. | .5905687 | .4512916 .69451 (Cornfield)
Attr. frac. pop | .2093434 |
+-----------------------------------------------
chi2(1) = 37.00 Pr>chi2 = 0.0000
Para se obter o risco relativo (risk ratio), utiliza-se o comando cs. O clculo do risco de
doena coronria, comparando homens com mulheres obtido pelo comando:
Apostila Stata 50
cs dc sex
sex
| Exposed Unexposed | Total
-----------------+------------------------+----------
Cases | 164 104 | 268
Noncases | 479 616 | 1095
-----------------+------------------------+----------
Total | 643 720 | 1363
| |
Risk | .2550544 .1444444 | .1966251
| |
| Pt. Est. | [95% Conf. Interval]
|------------------------+----------------------
Risk difference | .11061 | .0682488 .1529711
Risk ratio | 1.765761 | 1.414969 2.203521
Attr. frac. ex. | .4336721 | .2932706 .5461809
Attr. frac. pop | .2653814 |
+-----------------------------------------------
chi2(1) = 26.31 Pr>chi2 = 0.0000
Apostila Stata 51
Clculo do risco por regresso logstica
logit, logistic
A regresso logstica uma forma de modelagem que usada quando a varivel resposta
dicotmica. Para isso, precisaremos codificar a varivel resposta em 0(zero) e 1(um).
Codificaremos zero quando o evento no tiver ocorrido e 1 quando o evento tiver
ocorrido. No nosso exemplo, a partir do arquivo dcor.dta, nossa varivel resposta
doena coronariana, codificada em 0 (ausente) e 1 (presente).
No exemplo abaixo vamos, por meio da regresso logstica uma estimativa do coeficiente
Beta1 (1) para presso sistlica muito elevada em relao doena coronariana. A nossa
varivel explanatria, ou fator de risco, foi codificada como 1 quando a presso arterial
sistlica foi 165 mmHg e 0 quando < 165 mmHg. Se o coeficiente for positivo e o seu
intervalo de confiana no incluir o valor zero, a exposio um fator de risco para a
doena. Se o coeficiente for negativo e o intervalo de confiana tambm no incluir o
valor zero, a exposio um fator de proteo em relao doena. Qualquer que seja o
sinal do coeficiente 1, se o seu intervalo de confiana incluir o valor 0, no h
associao entre a exposio em anlise e a doena.
Varivel dicotmica
logit dc pas
------------------------------------------------------------------------------
dc | Coef. Std. Err. z P>|z| [95% Conf. Interval]
---------+--------------------------------------------------------------------
pas | .8929862 .1496675 5.966 0.000 .5996433 1.186329
_cons | -1.642414 .0830597 -19.774 0.000 -1.805208 -1.47962
------------------------------------------------------------------------------
Apostila Stata 52
No exemplo acima, o coeficiente 1 foi 0,89 e o seu intervalo de confiana de 95% foi
(0,60-1,19), portanto no inclui o zero e pode-se considerar a exposio em estudo como
um fator de risco para a doena coronariana. O programa tambm faz o clculo do teste
de hiptese para a varivel presso sistlica, que no caso deu um valor de p < 0,001,
portanto estatisticamente significante, corroborando o mesmo resultado acima
expresso. Observe que o resultado do teste de hipteses realizado na modelagem
idntico ao resultado do qui-quadrado obtido anteriormente pelo comando tabulate.
Outra forma de se avaliar uma associao epidemiolgica pela exponenciao do
coeficiente obtido por modelagem. No caso da regresso logstica, exponenciando-se o
coeficiente 1 obtm-se a razo de chances, ou odds ratio:
e 1 = Odds ratio
e 0,89 = 2,44
logistic dc pas
------------------------------------------------------------------------------
dc | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
---------+--------------------------------------------------------------------
pas | 2.442412 .3655496 5.966 0.000 1.821469 3.275036
------------------------------------------------------------------------------
logit dc fumo
------------------------------------------------------------------------------
dc | Coef. Std. Err. z P>|z| [95% Conf. Interval]
---------+--------------------------------------------------------------------
fumo | .2462088 .1365185 1.803 0.071 -.0213625 .5137802
_cons | -1.522155 .0953484 -15.964 0.000 -1.709035 -1.335276
------------------------------------------------------------------------------
Apostila Stata 53
logistic dc fumo
------------------------------------------------------------------------------
dc | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
---------+--------------------------------------------------------------------
fumo | 1.279167 .1746299 1.803 0.071 .978864 1.671598
------------------------------------------------------------------------------
Vamos ver se o sexo pode ser um fator de confuso para a associao entre
hipertenso e doena coronariana?
logistic dc sex
Apostila Stata 54
. logistic dc sex
------------------------------------------------------------------------------
dc | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
sex | 2.027943 .2826344 5.07 0.000 1.543205 2.664941
_cons | .1688312 .0178983 -16.78 0.000 .1371558 .2078218
------------------------------------------------------------------------------
Vimos que sim, pois homens tm risco 2.03 vezes maior de ter doena coronria em
comparao com as mulheres e o intervalo de confiana no inclui o 1.
+----------------+
| Key |
|----------------|
| frequency |
| row percentage |
+----------------+
| pas
sex | 0 1 | Total
-----------+----------------------+----------
0 | 537 200 | 737
| 72.86 27.14 | 100.00
-----------+----------------------+----------
1 | 556 113 | 669
| 83.11 16.89 | 100.00
-----------+----------------------+----------
Total | 1,093 313 | 1,406
| 77.74 22.26 | 100.00
O sexo est codificado 0=feminino e 1=masculino. Vemos que a hipertenso foi mais
comum nas mulheres, 27,1%, do que no homens, 16,9%.
Assim, como o sexo um fator de risco para hipertenso e o sexo est associado com
a hipertenso, precisamos controlar no modelo o efeito do sexo.
No exemplo:
Apostila Stata 55
. logistic dc pas sex
------------------------------------------------------------------------------
dc | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
pas | 2.860407 .4453845 6.75 0.000 2.108094 3.881196
sex | 2.357504 .3420721 5.91 0.000 1.773959 3.133005
_cons | .1181566 .0148782 -16.96 0.000 .0923157 .1512308
------------------------------------------------------------------------------
Como pode ser verificado no modelo, a hipertenso um fator de risco para doena
coronariana, mesmo aps se controlar para a varivel sexo no modelo multivarivel.
Varivel contnua
Vamos realizar os mesmo procedimentos para a varivel age, quantitativa contnua.
logistic dc age
. logistic dc age
------------------------------------------------------------------------------
dc | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | 1.068024 .0154488 4.55 0.000 1.03817 1.098736
_cons | .0075643 .0058527 -6.31 0.000 .0016603 .0344639
------------------------------------------------------------------------------
O odds ratio para idade 1,068. O odds ratio para cada ano de incremento na idade
1,068, ou seja, a cada ano de idade, h um aumento de 6,8% no risco de doena
coronariana. O intervalo de confiana no incluiu o 1, indicando que a idade um fator de
risco para doena coronria nesta populao. Observe que a idade est modelada como
varivel contnua. Desta forma o odds ratio interpretado para cada variao de uma
unidade na varivel explanatria (no caso para cada ano de idade). O odds ratio de uma
varivel contnua representa uma mdia dos odds nos diversos nveis desta varivel.
Como dito acima, age foi modelada como varivel contnua. Um dos poucos pressupostos
do modelo logstico que voc s pode modelar uma varivel como contnua se houver
evidncia de linearidade, ou seja de que para cada incremento na idade, corresponda um
decrscimo ou acrscimo na probabilidade de ocorrncia do evento, no caso, de doena
coronariana. necessrio verificar se este pressuposto se aplica no caso da idade. Se se
aplicar podemos continuar modelando age como varivel contnua. Se no se aplicar,
passaremos a modelar age como uma varivel categrica, a partir de pontos de corte de
significado biolgico ou baseados em quartis. H vrias formas de testar este
Apostila Stata 56
pressuposto. Numa delas, se plota em um grfico a idade versus a probabilidade de
ocorrncia de doena coronariana predita pelo modelo. Os comandos no Stata so:
predict probdc
label variable probdc Probabilidade predita de Doenca Coronariana
twoway (connected probdc age)
Apostila Stata 57
Varivel categrica com mais de dois nveis
Como se faz se a varivel categrica tem mais de dois nveis? Queremos saber
se o consumo de 1 a 9 cigarros, de 10 a 19 cigarros e 20 cigarros esto associados com
a doena coronria. Primeiro vamos criar uma nova varivel fumo, com quatro categorias
Cig Fumo
0 0
1a9 1
10 a 19 2
20 a 60 3
99 .
gen fumo=cig
recode fumo 1/9=1 10/19=2 20/60=3 99=.
No caso da varivel fumo, categrica, no podemos fazer a regresso sem antes fator-
la e transform-la em 3 variveis dummy (categricas 0 1), conforme esquema abaixo:
No caso, a varivel fumo1 a varivel dummy para fumar de 1 a 9 cigarros. Ela assumir
o valor 1 quando o indivduo fumou de 1 a 9 cigarros e 0 nos demais casos. A varivel
fumo2 assumir o valor 1 quando a pessoa fumou de 10 a 19 cigarros e 0 nos demais
casos e a varivel fumo3 assumir o valor 1 quando o indivduo fumou 20 cigarros por
dia e 0 nos demais casos. Observe que para cada categoria da varivel ser criada uma
varivel dummy.
O Stata tem um comando para gerar variveis dummy automaticamente, usando xi.
Verifique digitando:
Apostila Stata 58
. xi: logistic dc i.fumo
i.fumo _Ifumo_0-3 (naturally coded; _Ifumo_0 omitted)
------------------------------------------------------------------------------
dc | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
_Ifumo_1 | .9019861 .2152808 -0.43 0.666 .564989 1.439991
_Ifumo_2 | 1.40158 .3413577 1.39 0.166 .8695732 2.259071
_Ifumo_3 | 1.41908 .2237961 2.22 0.026 1.041761 1.933061
_cons | .218241 .020809 -15.96 0.000 .1810404 .2630857
------------------------------------------------------------------------------
1. Obtenha a razo de chances entre colesterol srico e doena coronariana pelo modelo
logstico, modelando a varivel colesterol como contnua.
2. Verifique o pressuposto de que a relao entre o nvel de colesterol srico e a
probabilidade de ocorrncia de doena coronariana seja linear.
3. Obtenha a razo de chances entre colesterol srico e doena coronariana pelo modelo
logstico, categorizando o colesterol em trs nveis: 96 a 219=normal 220 a 259=mdio
260 a 430=alto.
Apostila Stata 59