HEAD PREVIOUS

5  Kontingenztafeln

5.1  Chiqudadrat-Test

Einzugeben sei die Tafel:
  14   22   32
  18   16    8
   8    2    0

Die Werte in einen Vektor und anschließend in eine Matrix überführen:
> r <- c(14, 18, 8, 22, 16, 2, 32, 8, 0)
> rm <- matrix(r, nrow=3)
 
> rm
     [,1] [,2] [,3]
[1,]   14   22   32
[2,]   18   16    8
[3,]    8    2    0


Berechnung mit der Funktion chisq.test
> chisq.test(rm)

         Pearson's Chi-squared test 

data:  rm 
X-squared = 21.5765, df = 4, p-value = 0.0002433 

Warning message: 
Chi-squared approximation may be incorrect in: chisq.test(rm) 
> 

Einzugeben sei die Vierfeldertafel [7,S. 270]:
   14  85
    4  77

> r <- c(15,85,4,77)
> mr <- matrix(r,byrow=T,nrow=2)
> mr
     [,1] [,2]
[1,]   15   85
[2,]    4   77
> chisq.test(mr)

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

data:  mr 
X-squared = 3.8107, df = 1, p-value = 0.05093

> chisq.test(mr,correct=F)

        Pearson's Chi-squared test

data:  mr 
X-squared = 4.8221, df = 1, p-value = 0.02810

> 


Bei Vierfeldertafeln ist offenbar als Vorgabe Yates' Kontinuitätskorrektur eingestellt, was im zweiten Aufruf abgewählt wurde.

5.2  Prüfung von k×2-Feldertafeln auf Trend

Die folgende Tafel soll auf Trend untersucht werden [7,Seite 365]:
          geheilt
Therapie  nach
Erfolg    spez.    Anzahl 
Score     Therapie therapiert
  1         2        10
  2        16        34
  3        22        36

Eingabe [2]:
> geheilt <- c(2,16,22)
> summe <- c(10,34,36)
> prop.trend.test(geheilt,summe,score=c(1,2,3))

        Chi-squared Test for Trend in Proportions

data:  geheilt out of summe ,
 using scores: 1 2 3 
X-squared = 5.2197, df = 1, p-value = 0.02233

Die gleiche Tafel würde beim Vergleich ohne Berücksichtigungs des Trends keine signifikanten Unterschiede erkennen lassen:
> tafel <- c(14, 18, 8, 22, 16, 2)
> tmatrix <- matrix(tafel, byrow = T, nrow = 2)
> tmatrix
     [,1] [,2] [,3]
[1,]   14   18    8
[2,]   22   16    2

> chisq.test(tmatrix)

        Pearson's Chi-squared test

data:  tmatrix 
X-squared = 5.4954, df = 2, p-value = 0.06407

5.3  ,,Fisher's exakter Test''

Einzugeben sei die Tafel:
   10   4
    2   8

> tf <- c(10, 2, 4 ,8)
> mtf <- matrix(tf, nrow=2)
> fisher.test(mtf, alternative="greater")

         Fisher's Exact Test for Count Data 

data:  mtf 
p-value = 0.01804 
alternative hypothesis: true odds ratio is greater than 1 
95 percent confidence interval:
 1.435748      Inf 
sample estimates:
odds ratio 
  8.913675 

Hier wurde der p-Wert für eine einseitige Fragestellung ermittelt. Für die zweiseitige Fragestellung:
> fisher.test(mtf, alternative="two.sided")

        Fisher's Exact Test for Count Data

data:  mtf 
p-value = 0.03607
alternative hypothesis: true odds ratio is not equal to 1 
95 percent confidence interval:
   1.114920 123.433541 
sample estimates:
odds ratio 
  8.913675 

5.4  Odds ratio

Eine weitere Möglichkeit zur Berechnung von Konfidenzintervallen einer Odds Ratio besteht in der Verwendung der Funktion oddsratio im Paket epitools (Beispiel aus [8,Seite 490])
> library(epitools)
> tabelle <- matrix(c(24,96,48,592),nrow=2,byrow=T)
> tabelle
> oddsratio(tabelle,method="midp",conf.level=0.95)
$data
          Outcome
Predictor  Disease1 Disease2 Total
  Exposed1       24       96   120
  Exposed2       48      592   640
  Total          72      688   760

$measure
          odds ratio with 95% C.I.
Predictor  estimate    lower    upper
  Exposed1 1.000000       NA       NA
  Exposed2 3.085417 1.779715 5.236565

$p.value
          two-sided
Predictor    midp.exact fisher.exact   chi.square
  Exposed1           NA           NA           NA
  Exposed2 0.0001004225 0.0001119003 1.780411e-05

$correction
[1] FALSE

attr(,"method")
[1] "median-unbiased estimate & mid-p exact CI"
>


HEAD NEXT