Een log rank-test uitvoeren in r
Een log-rank-test is de meest gebruikelijke manier om overlevingscurven tussen twee groepen te vergelijken.
Deze test maakt gebruik van de volgende aannames :
H 0 : Er is geen verschil in overleving tussen de twee groepen.
H A : Er is een verschil in overleving tussen de twee groepen.
Als de p-waarde van de test onder een bepaald significantieniveau ligt (bijvoorbeeld α = 0,05), dan kunnen we de nulhypothese verwerpen en concluderen dat er voldoende bewijs is om te zeggen dat er een verschil in overleving bestaat tussen de twee groepen.
Om een log-rank-test in R uit te voeren, kunnen we de functie survdiff() uit het survival- pakket gebruiken, die de volgende syntaxis gebruikt:
survdiff(Surv(tijd, status) ~ voorspellers, gegevens)
Deze functie retourneert een chikwadraattoetsstatistiek en een overeenkomstige p-waarde.
In het volgende voorbeeld ziet u hoe u deze functie kunt gebruiken om een log-rank-test uit te voeren in R.
Voorbeeld: lograngtest in R
Voor dit voorbeeld gebruiken we de ovariële dataset uit het overlevingspakket . Deze dataset bevat de volgende informatie over 26 patiënten:
- Overlevingstijd (in maanden) na de diagnose eierstokkanker
- Of de overlevingstijd al dan niet werd gecensureerd
- Type behandeling ontvangen (rx = 1 of rx = 2)
De volgende code laat zien hoe u de eerste zes rijen van deze gegevensset kunt weergeven:
library (survival) #view first six rows of dataset head(ovarian) futime fustat age resid.ds rx ecog.ps 1 59 1 72.3315 2 1 1 2 115 1 74.4932 2 1 1 3 156 1 66.4658 2 1 2 4 421 0 53.3644 2 2 1 5,431 1 50.3397 2 1 1 6 448 0 56.4301 1 1 2
De volgende code laat zien hoe u een log-rank-test kunt uitvoeren om te bepalen of er een verschil in overleving is tussen patiënten die verschillende behandelingen hebben gekregen:
#perform log rank test
survdiff(Surv(futime, fustat) ~ rx, data=ovarian)
Call:
survdiff(formula = Surv(futime, fustat) ~ rx, data = ovarian)
N Observed Expected (OE)^2/E (OE)^2/V
rx=1 13 7 5.23 0.596 1.06
rx=2 13 5 6.77 0.461 1.06
Chisq= 1.1 on 1 degrees of freedom, p= 0.3
De Chi-kwadraattoetswaarde is 1,1 met 1 vrijheidsgraad en de overeenkomstige p-waarde is 0,3 . Omdat deze p-waarde niet kleiner is dan 0,05, slagen we er niet in de nulhypothese te verwerpen.
Met andere woorden: we hebben niet voldoende bewijs om te zeggen dat er een statistisch significant verschil in overleving bestaat tussen de twee behandelingen.
We kunnen ook overlevingscurven voor elke groep uitzetten met behulp van de volgende syntaxis:
#plot survival curves for each treatment group plot(survfit(Surv(futime, fustat) ~ rx, data = ovarian), xlab = " Time ", ylab = “ Overall survival probability ”)
We kunnen zien dat de overlevingscurven enigszins verschillen, maar de log-rank-test vertelde ons dat het verschil niet statistisch significant is.