7 Ikke-parametriske test

7.1 One-sample tests

Eksempel: Slagvolumen målt ved to metoder (parrede målinger, uge 1)

7.1.1 Sign test

Test af \(H_0:\) median=0 for differenserne. Hertil benyttes pakken BSDA:

install.packages('BSDA')
library( BSDA )
ms$dif <- ms$mf-ms$sv
SIGN.test( ms$dif )

    One-sample Sign-Test

data:  ms$dif
s = 12, p-value = 0.4
alternative hypothesis: true median is not equal to 0
95 percent confidence interval:
 -3.548  4.548
sample estimates:
median of x 
          1 

Achieved and Interpolated Confidence Intervals: 

                  Conf.Level L.E.pt U.E.pt
Lower Achieved CI     0.9216 -3.000  4.000
Interpolated CI       0.9500 -3.548  4.548
Upper Achieved CI     0.9734 -4.000  5.000

Bemærk at man udover p-værdien faktisk også får et CI for medianen.

7.1.2 Wilcoxon signed rank test

wilcox.test( ms$dif )

    Wilcoxon signed rank test with continuity correction

data:  ms$dif
V = 103, p-value = 0.8
alternative hypothesis: true location is not equal to 0

At der kommer en warning skyldes, at vi har nogle observationer med samme værdi (det kaldes ‘ties’). Har man store datasæt er det ikke noget problem, men med et lille datasæt som her, kan man ikke regne helt med p-værdien (her er den dog så stor, at vi ikke er i tvivl om konklusionen - vi kan ikke se forskel på de to metoder).

7.2 Two-sample tests

Eksempel: Vitamin D (danske og irske kvinder, uge 1/2)

7.2.1 Mann-Whitney U / Wilcoxon test

Wilcoxon tester for ens medianer, når fordelingen i de to grupper har samme form (herunder samme varians).

vitd2 <- subset(vit, country %in% c("DK","EI") )
wilcox.test( vitd ~ country, data=vitd2 )

    Wilcoxon rank sum test with continuity correction

data:  vitd by country
W = 1072, p-value = 0.9
alternative hypothesis: true location shift is not equal to 0

7.2.2 Median test

Tester ens medianer, uanset fordelingen i de to grupper. Kan også benyttes til at sammenligne mere end to grupper.

Hertil benyttes pakken agricolae:

install.packages('agricolae')
library(agricolae)
Median.test( vitd2$vitd, vitd2$country )

The Median Test for vitd2$vitd ~ vitd2$country 

Chi Square = 0.3893   DF = 1   P.Value 0.5327
Median = 46.3 

   Median  r  Min   Max  Q25  Q75
DK   47.8 53 11.4  93.6 27.6 61.8
EI   44.8 41 17.0 110.4 34.4 62.7

Post Hoc Analysis

Groups according to probability of treatment differences and alpha level.

Treatments with the same letter are not significantly different.

   vitd2$vitd groups
DK       47.8      a
EI       44.8      a

Bemærk at Median.test() ikke benytter formel- men kommanotation, og at der ikke kan benyttes et data-argument.

Vi aflæser p-værdien på 0.53 og konkluderer at der ikke er forskel på median vitamin D i de to grupper.

7.3 Fler-sample tests

Eksempel: Vitamin D (uge 1/2)

7.3.1 Kruskal-Wallis test

kruskal.test( vitd ~ country, data=vit )

    Kruskal-Wallis rank sum test

data:  vitd by country
Kruskal-Wallis chi-squared = 27, df = 3, p-value = 7e-06

7.3.2 Median test

Helt som i kap 7.2.2

Median.test( vit$vitd, vit$country )