Análise Estatística em Epidemiologia
Utilizando o Ambiente R - I
Tabela de contingência e medidas de associação
Ministrantes:
ProfaMaria do Rosário D. O. Latorre
Dr. Gabriel Z. Laporta Monitor: Alessandra C. G. Pellini
Sumário
1 Tabela de contingência
2 Medidas de ocorrência e de associação
Tabela de contingência
Exemplo 1
Este exemplo se refere a um ensaio clínico aleatório em que um grupo de pacientes com diabetes foi tratado com uma droga e o outro grupo recebeu placebo. O desfecho foi óbito (sim e não). A tabela que representa esses resultados está abaixo. No R, a tabela se chama matriz.
Mortes Sobreviventes
Medicamento 30 174
Tabela de contingência
Importar base de dados brutos
• >ud <- read.table("http://www.medepi.net/data/ugdp.txt", header = TRUE, sep = ",")
•
Status Treatment Agegrp
1 Death Tolbutamide <55
2 Death Tolbutamide <55
3 Death Tolbutamide <55
4 Death Tolbutamide <55
Tabela de contingência
Como extrair os seguintes dados da base bruta?
• 1 - Pacientes que morreram e tomaram o medicamento (30)
2 - Pacientes que sobreviveram e tomaram o medicamento (174) 3 - Pacientes que morreram e tomaram o placebo (21)
Tabela de contingência
Distribuição de frequências
• da base de dados >table(ud) • da variável status >table(ud$Status) Death Survivor 51 358Tabela de contingência
Distribuição de frequências
• em status, quem tomou Placebo?
>table(ud$Status[ud$Treatment=="Placebo"])
Death Survivor
21 184
• em status, quem tomou Medicamento?
>table(ud$Status[ud$Treatment=="Tolbutamide"])
Death Survivor
Tabela de contingência
Tabela de contingência: uma matriz
Uma matriz é uma coleção de elementos organizados em um objeto de dados de duas dimensões. Elementos de matriz podem ser numéricos, categóricos ou lógicos. Tabelas de contingência em epidemiologia são representadas no R como matrizes numéricas.
Tabela de contingência
Para entender matrizes
• Montar as caselas
>casela <- c(“a", “b", “c", “d")
• Montar a tabela de contingência
>tabconti <- matrix(casela, 2, 2, byrow = TRUE) >tabconti
[,1] [,2] [1,] “a"“b" [2,] “c"“d"
Tabela de contingência
Para entender matrizes
• Criar a matriz
>casela <- c(30, 174, 21, 184)
>tab.ud <- matrix(casela, 2, 2, byrow = TRUE) >tab.ud
[,1] [,2] [1,] 30 174 [2,] 21 184
• Nomear a matriz
>rownames(tab.ud) <- c(“Medicamento", “Placebo") >colnames(tab.ud) <- c(“Mortes", “Sobreviventes")
• Eis que surge a tabela de contingência
>tab.ud
Mortes Sobreviventes
Medicamento 30 174
Medidas de ocorrência e de associação
Medidas de ocorrência e de associação
Tipo Medidas Descrição
Medidas de Incidência Número de casos novos
ocorrência Prevalência Número de casos existentes
Taxa de incidência Casos novos por
pessoa-tempo sob risco
Risco Probabilidade de se tornar
um caso
Odds Chance de se tornar um caso
Medidas de Razão de taxas Razão entre
associação duas taxas
Risco relativo Razão entre
dois riscos
odds ratio Razão entre
Medidas de ocorrência e de associação
Razão
O que é razão?
Uma razão é a comparação de dois números (r1, r2):
r1:r2=
r1
Medidas de ocorrência e de associação
Proporção
O que é proporção?
Proporção é um tipo de razão em que o numerador é um subconjunto
do denominador. Pode ser utilizada para estimar o risco. Exemplo: de
n pessoas que foram operadas, x apresentaram sintomas de infecção hospitalar:
R = x
n onde x é um subconjunto de n.
Medidas de ocorrência e de associação
Chance
O que é chance(odds)?
Chance (odds) é uma razão de duas probabilidades em um evento binário. Chance = P 1 − P = R 1 − R = x /n 1 − x /n = x n − x
Medidas de ocorrência e de associação
Calcular medidas de ocorrência/associação
• Considere a seguinte tabela de contingência:
>tab.ud
Mortes Sobreviventes
Medicamento 30 174
Placebo 21 184
• Qual é o risco de morte para os dois grupos?
Medidas de ocorrência e de associação
Resultados - medidas de ocorrência
• Quais as medidas de ocorrência de morte?
Medidas de ocorrência Medicamento Placebo
riscos 0.1470588 0.1024390
Medidas de ocorrência e de associação
Resultados - medidas de associação
• Quais as medidas de associação para a morte?
Medidas de associação Medicamento / Placebo
risco relativo 1.4355742
razão de chances 1.510673
Medidas de ocorrência e de associação
Teste de associação
Podemos calcular o teste exato de Fisher ou o teste de X2para
determinar se a medida de associação é significativa, ou seja, diferente de 1. Nesse caso, a hipótese nula é a independência entre as duas variáveis (linhas e colunas).
Teste de associação valor de p
Fisher 0.181
Medidas de ocorrência e de associação
Intervalo de confiança
Embora o teste exato de Fisher no R tenha como output a estimativa da razão de chances e seu intervalo de confiança, o mesmo não
acontece para o teste de X2ou se quisermos saber o intervalo de
confiança do risco relativo. Nesse caso, podemos utilizar o R como um ambiente de programação flexível no qual podemos criar nossas próprias funções. Por exemplo, funções para calcular as estimativas pontuais das medidas de associação e seus respectivos intervalos de confiança. É o momento de aprendermos a criar nossas próprias funções!
Intervalos de confiança
Para entender funções: Exemplo 1
O exemplo a ser trabalhado para entender funções se refere aquele ensaio clínico aleatório em que um grupo de pacientes com diabetes foi tratado com uma droga e o outro grupo recebeu placebo. O desfecho foi óbito (sim e não). A tabela que representa esses resultados está abaixo:
Mortes Sobreviventes
Medicamento 30 174
Intervalos de confiança
Risco relativo e seu intervalo de confiança
• Como é a estimativa do risco relativo?
RR = R1
R0
= x1/N1 x0/N0
• Como é o cálculo do intervalo de confiança?
EP[log(RR)] = s 1 x1 − 1 N1 + 1 x0 − 1 N0
ICinf =exp(log(RR) − z1−α∗ EPlogRR)
Intervalos de confiança
Criar uma função: passo a passo
• Vamos criar uma função?
rr <- function(x, nivel.conf){ • Declarar variáveis x1 <- x[1,1] n1 <- sum(x[1,]) x0 <- x[2,1] n0 <- sum(x[2,]) • Fazer cálculos
risco entre expostos p1 <- x1/n1
risco entre não-expostos p0 <- x0/n0
risco relativo RR <- p1/p0;
log do risco para aproximação da distribuição normal logRR <- log(RR)
Intervalos de confiança
Criar uma função: passo a passo
• Calcular o erro padrão
EPlogRR <- sqrt(1/x1 - 1/n1 + 1/x0 - 1/n0)
• Calcular o percentil crítico z para o nível de confiança escolhido
z <- qnorm(0.5*(1 + nivel.conf)) • Calcular o intervalo inferior
ICI <- exp(logRR - z*EPlogRR)
• Calcular o intervalo superior
ICS <- exp(logRR + z*EPlogRR)
• Ver os resultados
return(list(x = x, riscos = c(p1 = p1, p0 = p0), risco.relativo = RR, int.conf = c(ICI, ICS), nivel.conf = nivel.conf) )
Intervalos de confiança
Criar uma função: output
>rr(tab.ud, 0.95) $x Mortes Sobreviventes Medicamento 30 174 Placebo 21 184 $riscos p1 p0 0.1470588 0.1024390 $risco.relativo [1] 1.435574 $int.conf [1] 0.851022 2.421645 $nivel.conf [1] 0.95Intervalos de confiança
Exemplo 2: exercício
A síndrome respiratória aguda grave (SARS) se espalhou rapidamente pelo mundo, em grande parte porque as pessoas infectadas com o vírus viajaram em aeronaves para cidades distantes. Muitas pessoas infectadas viajaram em aviões comerciais, mas o risco de transmissão era desconhecido. Em 15 de março de 2003, um Boeing 737-300 carregando 120 pessoas (112 passageiros, seis assistentes de vôo e 2 pilotos) voou durante três horas de Hong Kong para Pequim. Um dos passageiros era um homem sintomático de 72 anos de idade.
Intervalos de confiança
Avaliar medida única de ocorrência
Em epidemiologia, podemos calcular a taxa de incidência (r) a partir de novos casos (x) divididos por pessoas-tempo (PT), assumindo que x tende a uma distribuição Poisson e PT tem um valor fixo.
• Estimativa
r = x
PT
• As fórmulas abaixo servem para calcular o intervalo de confiança
por meio de uma aproximação da distribuição Normal
• Intervalo de confiança EP(r ) = r x PT2 ri =r − z1−α∗ EP(r ) rs =r + z1−α∗ EP(r )
Intervalos de confiança
Calcular o risco de SARS, Boeing 737-300, 2003
Figura :OLSEN e col. (2003)
n engl j med 349;25 www.nejm.org december 18, 2003
The n e w e n g l a n d j o u r n a l of m e d i c i n e
2420
flight; three were confirmed to be seropositive, and one of the three was also positive on RT-PCR.
Interviews of passengers were conducted a me-dian of 11 days (range, 6 to 11) after the flight. Of the 166 persons interviewed (67 percent), 1 report-ed fever and respiratory symptoms but never had a chest radiograph obtained and was not reported as having a probable case of SARS (Table 1). He has since fully recovered without hospitalization. Rou-tine surveillance did not result in the detection of any additional cases among the remaining 33 percent of the passengers and crew members.
We believe that the most plausible explanation for the development of SARS in the passengers and crew members on Flight 2 is that they were infected while on board the aircraft, although other explanations are possible. As might be expected of a flight carry-ing patients with SARS, Flight 2 was travelcarry-ing from a SARS-affected area (Hong Kong) to a destination that would later be identified as a SARS-affected area (Beijing). Therefore, it is possible that the passen-gers in whom SARS developed were infected before or after the flight. However, the clustering of the dates of onset of illness around four days after the flight is in keeping with the expected incubation pe-riod for SARS11,12 and points to the day of the flight
as a likely time of transmission. Furthermore, we identified no alternative exposures before or after
the flight through our interviews with the ill passen-gers. One ill person, who was part of a tour that trav-eled together, had an onset of illness eight days after the flight, an interval that might have been attribut-able to secondary spread from another member of the tour group.
The observation that the passengers who became infected were clustered in the few rows directly in front of or behind the ill passenger, rather than be-ing randomly distributed throughout the aircraft, is consistent with the pattern described in other cases in which a respiratory pathogen was transmitted on board an aircraft13
and lends further plausibility to the theory that transmission occurred during the flight. The risk to passengers was greatest if they were seated in the same row as the index patient or within three rows in front of him. The greater con-centration of persons who became infected in front of the index patient than behind him may point to the role of coughing in transmission, causing a com-bination of aerosol and small-droplet spread.
Large-droplet spread is often believed to occur within 36 in. of a patient,14 and this cutoff has been
used to define exposure to SARS in other investiga-tions.15 However, the distance covered by three
economy-class rows on a Boeing 737-300 is 2.3 m (90 in.). On this aircraft, 90 percent of the persons who became ill were seated more than 36 in. away from the index patient, so airborne, small-particle, or other remote transmission may be more straight-forward explanations for the observed distribution d i s c u s s i o n
Figure 2. Schematic Diagram of the Boeing 737-300 Aircraft on Flight 2 from Hong Kong to Beijing.
Two flight attendants and two Chinese officials also reportedly had illness that met the WHO criteria for a probable case of SARS. The flight attendants are shown here as members of the crew. The seat locations of the two Chinese officials are unknown, and they are not included in the diagram.
22 A BC D E F 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Empty seat Probable case of SARS
No illness (person interviewed) Index patient Crew member No illness (person not interviewed)
Qual é o risco de adquirir sintomas de SARS considerando somente os pacientes da classe econômica sob risco? Calcule o intervalo de confiança de 90% da estimativa pontual.
Intervalos de confiança
Fazer a função do risco e do intervalo de confiança
Embora seja possível fazer os cálculos sem precisar elaborar uma função, imagine uma situação-problema em que seja necessário aplicar o mesmo procedimento várias vezes, por exemplo, calcular o risco e o intervalo de confiança em diversas bases de dados. Nesse caso, é necessário elaborar uma função para otimizar esse
procedimento. Portanto, vamos primeiramente elaborar uma função para calcular o risco e o intervalo de confiança e posteriormente aplicá-la com os dados de SARS. Os resultados devem ser coincidentes com aqueles previamente calculados.
Referências
Referências
Aragón TJ, Enanoria WT. Applied Epidemiology Using R.
Disponível em: http://www.medepi.com/docs/epir.pdf Olsen SJ, Chang HL, Cheung TYY, e col.
Transmission of the Severe Acute Respiratory Syndrome on Aircraft.