Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
[ENTER] [ENTER]
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.
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
Interromper
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.
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%.
Apostila Stata
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) 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?
Apostila Stata
11
tiparto 1 2 1 1 2
idgest 40 33 41 38 39
idmae 30 22 19 33 25
sexo 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 e tecle [ENTER]
Apostila Stata
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 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
1. 2. 3. 4. 5.
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).
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
Apostila Stata
15
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) == != > < >= <= igual a diferente de maior do que menor do que maior ou igual menor ou igual
Apostila Stata
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: & | ! e ou no
Apostila Stata
17
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.
Apostila Stata
18
Apostila Stata
19
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.
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
Apostila Stata
23
cig yrs_chd
Apostila Stata
24
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) = 36.9959 Pr = 0.000
Apostila Stata
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
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