Você está na página 1de 15

1 AULA 4 - TABELA DE CONTINGÊNCIA E MEDIDAS DE

ASSOCIAÇÃO

1.1 Tabela de contingência

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 (Áragon e

Enanoria 1 , 2009). O desfecho foi óbito (sim e não). A tabela que representa esses resul-

tados está abaixo (Tabela 1).

Tabela 1: Tabela de contingência de ensaio clínico.

Mortes Sobreviventes
Medicamento 30 174
Placebo 21 184

Esses dados foram organizados nessa tabela de contigência a partir de uma base de

dados brutos. Vamos, primeiramente, importar essa base e, posteriormente, extrair as

informações necessárias para montar a Tabela 1.

• Importar base de dados da Internet (Áragon e Enanoria 1 , 2009)

>ud <- read.table(“http://www.medepi.net/data/ugdp.txt”, header = TRUE, sep

= “,”)

• Visualizar base de dados

> ud
Status Treatment Agegrp

1 Death Tolbutamide <55

2 Death Tolbutamide <55

...

408 Survivor Placebo 55+

409 Survivor Placebo 55+


Essa base de dados, que é um objeto nomeado por ud, contém três colunas com

variáveis qualitativas nominais. A primeira coluna é o desfecho, ou seja, óbito (Death

= sim, Survivor = não). A segunda coluna é a exposição ao tratamento (Tolbutamide

= sim, Placebo = não). E, a terceira coluna é a faixa etária. Neste exemplo, vamos

trabalhar com tabela de contingência simples, ou seja, sem estratificação por idade.

Portanto, o interesse é saber se os pacientes que foram à óbito estão associados ao

tratamento com Tobultamide para todas as idades. Para tanto, faz-se necessário saber

as seguintes informações para montar a tabela de contingência a partir da base de dados

brutos:

• 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)

4 - Pacientes que sobreviveram e tomaram o placebo (184)

Para extrair a distribuição de frequência de uma variável qualitativa, deve-se utilizar

a função table() com o operador de indexação $. Por exemplo:

• > table(ud$Status)
Death Survivor

51 358
Para obter a tabela de contingência, entretanto, deve-se conhecer a distribuição de

frequência em Status condicionada à exposição ao tratamento. Por exemplo:

• > table(ud$Status[ud$Treatment=="Placebo"])
Death Survivor

21 184
• > table(ud$Status[ud$Treatment=="Tolbutamide"])
Death Survivor

30 174

2
Para montar a tabela de contingência, faz-se necessário conhecer o objeto do R

conhecido como matriz. A 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 com a função matrix(). Por exemplo, uma tabela de contigência 2x2 pode

ser representada por uma matriz de 2 linhas e 2 colunas. Primeiramente, cria-se um

vetor com os valores das caselas e, posteriormente, monta-se uma matriz 2x2 com esse

vetor, sendo que o preenchimento ocorre pela linha utilizando o argumento byrow =

TRUE.

• 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”


Agora, vamos aplicar esse conhecimento para montar a tabela de contingência de

interesse (Tabela 1). Primeiro, criamos o vetor e a matriz. Segundo, nomeamos as linhas

e colunas.

• 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

3
• 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

Placebo 21 184

1.2 Medidas de ocorrência e de associação

Em epidemiologia, as medidas de ocorrência e de associação mais utilizadas estão

na Tabela 2.

Tabela 2: 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
duas chances

4
Na Tabela 2, todos os exemplos são razões. Então, o que é uma razão? Uma razão

é a comparação de dois números (r 1 , r 2 ):

r1
r1 : r2 =
r2

Um tipo de razão é a proporção, que pode ser utilizada como uma medida de ocorrên-

cia (Tabela 2). Proporção pode ser utilizada para estimar o risco em que o numerador

é um subconjunto do denominador. Exemplo: de n pessoas que foram operadas, x

apresentaram sintomas de infecção hospitalar:

x
R=
n

onde x é um subconjunto de n.

Como exemplo de medida de associação (Tabela 2), chance (odds) é uma razão de

duas probabilidades em um evento binário.

P R x/n x
Chance = = = =
1−P 1−R 1 − x/n n−x

Considerando 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?

• Qual é a chance de morte para os dois grupos?

5
• Risco de morte aos que tomaram o medicamento:

> 30/(30+174)

[1] 0.1470588

• Risco de morte aos que tomaram o placebo:

> 21/(21+184)

[1] 0.1024390

• Chance de morte aos que tomaram o medicamento:

>(30/(30+174)) / (1 - (30/(30+174)))

[1] 0.1724138

• Chance de morte aos que tomaram o placebo:

> (21/(21+184)) / (1 - (21/(21+184)))

[1] 0.1141304

Assim, podemos preencher com essas medidas de ocorrência a Tabela 3.

Tabela 3: Medidas de ocorrência de morte em ud.

Medidas de ocorrência Medicamento Placebo


riscos 0.1470588 0.1024390
chances 0.1724138 0.1141304

Podemos calcular as medidas de associação de interesse, por exemplo, o risco relativo

e a razão de chances de morte com placebo como baseline (Tabela 4).

• > (30/(30+174)) / (21/(21+184))

[1] 1.435574

• > ((30/(30+174)) / (1 - (30/(30+174)))) /((21/(21+184)) / (1 - (21/(21+184))))

[1] 1.510673

6
Tabela 4: Medidas de associação com morte em ud.

Medidas de associação Medicamento / Placebo


risco relativo 1.4355742
razão de chances 1.510673

Diante disso, qual seria a interpretação? Será que o medicamento é um fator de

risco (> 1)? Para responder a essa pergunta, podemos calcular o teste exato de Fisher

ou o teste de X 2 para determinar se a medida de associação é significativa, ou seja,

diferente de 1 (Agresti 2 , 1990). Nesse caso, a hipótese nula é a independência entre as

duas variáveis (linhas e colunas).

• > fisher.test(tab.ud)

Fisher’s Exact Test for Count Data

data: tab.ud

p-value = 0.1813

alternative hypothesis: true odds ratio is not equal to 1

95 percent confidence interval:

0.8013768 2.8872863

sample estimates:

odds ratio

1.509142

• > chisq.test(tab.ud)

Pearson’s Chi-squared test with Yates’ continuity correction

data: tab.ud

X-squared = 1.4787, df = 1, p-value = 0.2240

7
No output do teste exato de Fisher é indicado o intervalo de confiança de 95%

(0.8013768 - 2.8872863) o qual mostra que a razão de chances pode ser igual 1. Além

disso, os dois testes apontaram para o mesmo resultado, ou seja, aceita-se a hipótese

nula de independência entre linhas e colunas (Tabela 5).

Tabela 5: Testes de independência


entre linhas e colunas.

Teste de associação valor de p


Fisher 0.181
X2 0.224

Confirma-se, portanto, que não há associação entre mortes e exposição ao trata-

mento com Tolbutamide. Entretanto, faltou calcular o intervalo de confiança para a

estimativa 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.

1.3 Intervalos de confiança

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 (Áragon e Enanoria 1 , 2009). O desfecho foi óbito (sim e

não). A tabela que representa esses resultados está abaixo:

Mortes Sobreviventes

Medicamento 30 174

Placebo 21 184

8
A estimativa do risco relativo (RR) é feita calculando a proporção de pessoas sob
x1
risco que adquiriram a doença N1 dividida pela proporção de pessoas que não estão sob
x0 x1
risco e adquiriram a doença N0 . A proporção N1 é conhecida por risco nos expostos
x0
(R1 ) e a proporção N0 é o risco nos não-expostos (R0 ).

R1 x1 /N1
RR = =
R0 x0 /N0

Pode-se calcular o intervalo de confiança para a estimativa do risco relativo (Áragon

e Enanoria 1 , 2009). O intervalo de confiança permite mostrar a variabilidade em torno

dessa estimativa pontual. Para tanto, deve-se conhecer o método de elaboração de

um intervalo de confiança baseado na aproximação da distribuição normal. Para uma

estimativa, por exemplo o RR, o intervalo de confiança é construído em acordo com a

seguinte fórmula:

RRinf , RRsup = RR ± Z ∗ EP (RR)

onde EP (RR) é o erro padrão da estimativa amostral e ±Z são os quantis da curva de

densidade probabilística de uma distribuição normal padronizada.

O erro padrão EP (RR) é uma medida de desvio padrão das estimativas de risco

relativo, teoreticamente, obtidas em repetidas amostras da população. Ele pode ser

obtido por meio da seguinte fórmula:

s
1 1 1 1
EP [log(RR)] = − + −
x1 N1 x0 N0

onde x1 + x0 é total de pessoas acometidas pela doença e N1 + N0 é o total de pessoas

na amostra. A raiz quadrada transforma o erro padrão para a escala loge do RR, que é

uma aproximação da distribuição normal.

9
Para um intervalo de confiança de 95%, P (−Z ≤ z ≤ +Z) = 0.95, tem-se que

P (z ≤ −1.96) = P (z ≥ 1.96) é igual a 0.025. No R, por exemplo, pode-se obter o

quantil q para uma determinada probabilidade p, em que p = P (Z ≤ q), utilizando a

função qnorm():

• > nivel.conf <- 0.90

> qnorm((1 + nivel.conf)/2)

[1] 1.644854

• > nivel.conf <- 0.95

> qnorm((1 + nivel.conf)/2)

[1] 1.959964

Pode-se calcular os limites inferior ICinf e superior ICsup do intervalo de confiança

do RR utilizando as seguintes fórmulas:

ICinf = exp(log(RR) − z1−α ∗ EP logRR)

ICsup = exp(log(RR) + z1−α ∗ EP logRR)

onde a transformação exponencial exp é feita para re-escalonar o intervalo de confiança

na escala original do RR.

Após essa breve revisão teórica, podemos criar uma função no R para calcular o

intervalo de confiança. Vamos criar a função de nome rr que possui dois argumentos,

primeiro, a tabela de contingência (x), segundo, o nível de confiança (nivel.conf ). Essa

função poderá ser aplicada para qualquer tabela de contingência 2x2 e, também, para

outro nível de confiança.

• > rr <- function(x, nivel.conf){

10
Os argumentos possuem nome, por exemplo, x que é o nome genérico para o objeto

de interesse, nesse caso, a tabela de contingência. O operador { indica que a função

deve ser explicitada a partir desse ponto. Para tanto, devem-se declarar as variáveis,

por exemplo, x1 que é o número de expostos e doentes.

• > x1 <- x[1,1]

> n1 <- sum(x[1,])

> x0 <- x[2,1]

> n0 <- sum(x[2,])

Calculam-se os riscos entre expostos R1 e entre não-expostos R0 para obter a esti-

mativa do risco relativo (RR). A estimativa do RR é transformada para a escala loge

para aproximar da distribuição normal.

• > r1 <- x1/n1

> r0 <- x0/n0

> RR <- r1/r0;

> logRR <- log(RR)


q
1 1 1 1
O erro padrão é calculado com a equação EP [log(RR)] = x1 − N1 + x0 − N0

explicitada na linguagem R.

• EPlogRR <- sqrt(1/x1 - 1/n1 + 1/x0 - 1/n0)

O percentil crítico z é determinado para o nível de confiança escolhido.

• z <- qnorm(0.5*(1 + nivel.conf))

Calculam-se os intervalos de confiança inferior ICinf e superior ICsup .

• ICI <- exp(logRR - z*EPlogRR)

ICS <- exp(logRR + z*EPlogRR)

11
Os resultados, ou seja, o output da função, podem ser mostrados por meio da função

return() que deve retornar uma lista de objetos, utilizando a função list(). Esse objetos

podem ser, por exemplo, a tabela de contingência, os riscos, o risco relativo, o intervalo

de confiança e o nível de confiança. A função termina com o operador }.

• return(list(x = x, riscos = c(r1 = r1, r0 = r0), risco.relativo = RR,

int.conf = c(ICI, ICS), nivel.conf = nivel.conf) )

A função rr pode ser aplicada com a tabela de contingência tab.ud, escolhendo o

nível de significância de 0.95.

• >rr(tab.ud, 0.95)

$x
Mortes Sobreviventes

Medicamento 30 21

Placebo 174 184


$riscos
r1 r0

0.1470588 0.1024390
$risco.relativo

[1] 1.435574

$int.conf

[1] 0.851022 2.421645

$nivel.conf

[1] 0.95

Confirma-se, definitivamente, que para esse ensaio clínico a exposição ao medica-

mento não está associada ao desfecho, ou seja, ao óbito (RR = 1.44; IC95% = 0.85,

2.42).

12
1.4 Exercícios da Aula 4

1 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 (Olsen e col. 3 , 2003).
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
x
r=
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 r
x
EP (r) =
PT2
ri = r − z1−α ∗ EP (r)
rs = r + z1−α ∗ EP (r)

Considerando o cálculo do risco de SARS no Boeing 737-300 em 2003 (Olsen e col. 3 ,


2003), utilize a Figura 1 para responder as seguintes questões:
• 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.

13
Figura 1:TheRisco de SARS journal
new england col. 3 , (2003).
em Olsenof emedicine

10
11
12

13
14
15
16
17
18
19
20
21
22
1
2

3
4
5
6
7
8
9
DE F
ABC
No illness (person interviewed) Index patient
No illness (person not interviewed) Crew member
Probable case of SARS Empty seat

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.

2 flight;
Emborathreeseja
werepossível
confirmedfazer
to be seropositive,
os cálculosand semthe flight through
precisar our interviews
elaborar with theimagine
uma função, ill passen-
one of the three was also positive on RT-PCR. gers. One ill person, who was part of a tour that trav-
uma situação-problema em que seja necessário aplicar o mesmo procedimento várias
Interviews of passengers were conducted a me- eled together, had an onset of illness eight days after
vezes,
dian por
of 11exemplo,
days (range,calcular o risco
6 to 11) after e o intervalo
the flight. de an
Of the flight, confiança emmight
interval that diversas bases
have been de
attribut-
dados. Nesse caso, é necessário elaborar uma função para otimizar esse procedimento.
the 166 persons interviewed (67 percent), 1 report- able to secondary spread from another member of
Portanto, vamos
ed fever and primeiramente
respiratory symptoms butelaborar uma
never had a função para calcular o risco e o intervalo
the tour group.
de chest
confiança e posteriormente
radiograph obtained and wasaplicá-la comasos dados
not reported de SARS.that
The observation Ostheresultados
passengersdevem
who becameser
having a probable case of SARS (Table 1).
coincidentes com aqueles previamente calculados. He has infected were clustered in the few rows directly in
since fully recovered without hospitalization. Rou- front of or behind the ill passenger, rather than be-
tine surveillance did not result in the detection of any ing randomly distributed throughout the aircraft, is
additional cases among the remaining 33 percent of consistent with the pattern described in other cases
the passengers and crew members. in which a respiratory pathogen was transmitted on
board an aircraft13 and lends further plausibility to
di s cu ssi o n the theory that transmission occurred during the
flight. The risk to passengers was greatest if they
We believe that the most plausible explanation for were seated in the same row as the index patient or
the development of SARS in the passengers and crew within three rows in front of him. The greater con-
members on Flight 2 is that they were infected while centration of persons who became infected in front
on board the aircraft, although other explanations of the index patient than behind him may point to
are possible. As might be expected of a flight carry- the role of coughing in transmission, causing a com-
ing patients with SARS, Flight 2 was traveling from bination of aerosol and small-droplet spread.
a SARS-affected area (Hong Kong) to a destination Large-droplet spread is often believed to occur
that would later be identified as a SARS-affected area within 36 in. of a patient,14 and this cutoff has been
(Beijing). Therefore, it is possible that the passen- used to define exposure to SARS in other investiga-
gers in whom SARS developed were infected before tions.15 However, the distance covered by three
or after the flight. However, the clustering of the economy-class rows on a Boeing 737-300 is 2.3 m
dates of onset of illness around four days after the (90 in.). On this aircraft, 90 percent of the persons
flight is in keeping with the expected incubation pe- who became ill were seated more than 36 in. away
14
riod for SARS11,12 and points to the day of the flight from the index patient, so airborne, small-particle,
as a likely time of transmission. Furthermore, we or other remote transmission may be more straight-
identified no alternative exposures before or after forward explanations for the observed distribution

2420 n engl j med 349;25 www.nejm.org december 18 , 2003

The New England Journal of Medicine


Downloaded from www.nejm.org on October 4, 2010. For personal use only. No other uses without permission.
Referências

[1] Aragón TJ, Enanoria WT. Applied Epidemiology Using R [livro na in-
ternet]. Berkeley; 2009 [acesso em outubro 2010]. Disponível em:
http://www.medepi.com/docs/epir.pdf.
[2] Agresti A. Categorical data analysis. New York: Wiley; 1990.
[3] Olsen SJ, Chang HL, Cheung TYY, Tang AF, Fisk TL, e col. Transmission of the
Severe Acute Respiratory Syndrome on Aircraft. New England Journal of Medicine.
2003;349:2416-2422.

15

Você também pode gostar