Šis kods veic hipotēžu testu par indikatora biežumiem dažādās vēža stadijās

by Artis Luguzis, 03/2018

library(fifer) # chi-square post hoc testi
## Warning: package 'fifer' was built under R version 3.4.3
## Loading required package: MASS

Tabulas

# I - IV stadijas salīdzinājums
tab1<-matrix(c(25,26,54,35,7,15,45,73),nrow = 4)
k<-(nrow(tab1)-1)*(ncol(tab1)-1) # Hī-kvadrāta testam
rownames(tab1)<-c("I stadija","II stadija","III stadija","IV stadija")
colnames(tab1)<-c("<3.7",">=3.7")

# IIIb - IV stadijas salīdzinājums
tab2<-matrix(c(22,21,41,24,38,134),nrow = 3)
k<-(nrow(tab2)-1)*(ncol(tab2)-1) # Hī-kvadrāta testam
rownames(tab2)<-c("IIIb stadija","IIIc stadija","IV stadija")
colnames(tab2)<-c("<3.7",">=3.7")

tab1
##             <3.7 >=3.7
## I stadija     25     7
## II stadija    26    15
## III stadija   54    45
## IV stadija    35    73
tab2
##              <3.7 >=3.7
## IIIb stadija   22    24
## IIIc stadija   21    38
## IV stadija     41   134

Hī-kvadrāta testa rezultāts 1. tabulai

chisq.res1<-chisq.test(tab1)
chisq.res1$statistic
## X-squared 
##  27.26477
chisq.res1$p.value
## [1] 5.180882e-06

Hī-kvadrāta testa rezultāts 2. tabulai

chisq.res2<-chisq.test(tab2)
chisq.res2$statistic
## X-squared 
##  11.43824
chisq.res2$p.value
## [1] 0.003282604

Abos gadījumus nulles hipotēzi par faktoru vienādību noraida!

Post-hoc testi

Post-hoc testi veic savstarpējas salīdzināšanas starp vēža stadijām pa pāriem ar to pašu Hī-kvadrāta testu, tikai p-vērtības tiek koriģētas, lai ņemtu vērā multiple testing. Zemāk aprēķina p-vērtību korekcijas ar dažādām metodēm.

Tabula 1

# Tabula 1
p.vals.m.tab1<-chisq.post.hoc(tab1, test='chisq.test',control = "bonferroni")[,1:2]
## Adjusted p-values used the bonferroni method.
var.pvals.tab1<-round(sapply(c("holm", "hochberg", "hommel", "bonferroni", "BH", "BY"), 
       function(x) p.adjust(p.vals.m.tab1[,2],method = x)),5)

p.vals.comp.m1<-cbind(p.vals.m.tab1,var.pvals.tab1)
p.vals.comp.m1
##                   comparison  raw.p   holm hochberg  hommel bonferroni
## 1   I stadija vs. II stadija 0.2704 0.5408   0.4369 0.43690     1.0000
## 2  I stadija vs. III stadija 0.0306 0.0918   0.0918 0.09180     0.1836
## 3   I stadija vs. IV stadija 0.0000 0.0000   0.0000 0.00000     0.0000
## 4 II stadija vs. III stadija 0.4369 0.5408   0.4369 0.43690     1.0000
## 5  II stadija vs. IV stadija 0.0011 0.0055   0.0055 0.00525     0.0066
## 6 III stadija vs. IV stadija 0.0021 0.0084   0.0084 0.00840     0.0126
##        BH      BY
## 1 0.32448 0.79498
## 2 0.04590 0.11246
## 3 0.00000 0.00000
## 4 0.43690 1.00000
## 5 0.00330 0.00809
## 6 0.00420 0.01029

Principā redzams, ka gandrīz visas korekcijas dod līdzīgus spriedumus par testiem, t.i.

  • I stadija vs II stadija - nav statistiski nozīmīgas atšķirības
  • I stadija vs III stadija - pēc p-vērtību korekcijas nav būtiskas atšķirības (BH korekcijai ir 0.045 - arī visai margināli pat pie 0.05 nozīmības)
  • I stadija vs IV stadija - viennozīmīga atšķirība
  • II stadija vs III stadija - ir atšķirība pie 0.01 nozīmības jebkurai korekcijai
  • III stadija vs IV stadija - ir atšķirība pie 0.01 nozīmības jebkurai korekcijai (izņemtot Bonferroni, bet tā ir ļoti konservatīva korekcija)
# Tabula 2
p.vals.m.tab2<-chisq.post.hoc(tab2, test='chisq.test',control = "bonferroni")[,1:2]
## Adjusted p-values used the bonferroni method.
var.pvals.tab2<-round(sapply(c("holm", "hochberg", "hommel", "bonferroni", "BH", "BY"), 
       function(x) p.adjust(p.vals.m.tab2[,2],method = x)),5)

p.vals.comp.m2<-cbind(p.vals.m.tab2,var.pvals.tab2)
p.vals.comp.m2
##                      comparison  raw.p   holm hochberg hommel bonferroni
## 1 IIIb stadija vs. IIIc stadija 0.2870 0.2870   0.2870 0.2870     0.8610
## 2   IIIb stadija vs. IV stadija 0.0021 0.0063   0.0063 0.0063     0.0063
## 3   IIIc stadija vs. IV stadija 0.0968 0.1936   0.1936 0.1936     0.2904
##       BH      BY
## 1 0.2870 0.52617
## 2 0.0063 0.01155
## 3 0.1452 0.26620

Atkal, starp dažādām korekcijām nav būtiskas atšķirības spriedumu ziņā, t.i.

  • IIIb stadija vs IIIc stadija - nav statistiski nozīmīgas atšķirības
  • IIIb stadija vs IV stadija - ir atšķirība pie 0.01 nozīmības jebkurai korekcijai (izņemot BY)
  • IIIc stadija vs IV stadija - nav statistiski nozīmīgas atšķirības

Šķiet, ka rezultāti ir saskaņā ar vēža stadiju progresiju, kā rakstīji.