library(survival)
library(KMsurv)
data("larynx", package = "KMsurv")
str(larynx)
## 'data.frame':    90 obs. of  5 variables:
##  $ stage : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ time  : num  0.6 1.3 2.4 2.5 3.2 3.2 3.3 3.3 3.5 3.5 ...
##  $ age   : int  77 53 45 57 58 51 76 63 43 60 ...
##  $ diagyr: int  76 71 71 78 74 77 74 77 71 73 ...
##  $ delta : int  1 1 1 0 1 0 1 0 1 1 ...
head(larynx)
##   stage time age diagyr delta
## 1     1  0.6  77     76     1
## 2     1  1.3  53     71     1
## 3     1  2.4  45     71     1
## 4     1  2.5  57     78     0
## 5     1  3.2  58     74     1
## 6     1  3.2  51     77     0
data(larynx)
fit.larynx <- survfit(
  Surv(time, delta) ~ stage,
  data = larynx
)
summary(larynx$diagyr)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   70.00   72.25   74.00   74.24   76.00   78.00
summary(larynx$age)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   41.00   57.00   65.00   64.61   72.00   86.00

Interpretasi

boxplot(time ~ stage,
        data = larynx,
        main = "Boxplot",
        xlab = "Stadium penyakit",
        ylab = "Waktu hingga meninggal (bulan)",
        col = c("lightblue", "skyblue", "red", "orange"),
        border = "black")

# Interpretasi Berdasarkan boxplot, stadium 1 memiliki median waktu survival paling tinggi, yaitu sekitar 5,5 bulan, sedangkan stadium 4 memiliki median paling rendah, yaitu sekitar 1,5 bulan. Stadium 2 dan stadium 3 memiliki median sekitar 4 bulan dan 3,7 bulan. Stadium 3 memiliki sebaran waktu survival yang cukup luas, sedangkan stadium 4 memiliki sebaran yang relatif sempit. Secara umum, semakin tinggi stadium penyakit, waktu survival cenderung semakin pendek.

plot(fit.larynx,
     lty = 1:4,
     col = 1:4,
     main = expression(paste("Estimasi Kaplan-Meier ", hat(s)(t))),
     xlab = "Waktu survival, T (bulan)",
     ylab = "Fungsi survival, S(t)")

legend(8, 1,
       legend = c("Stage 1", "Stage 2", "Stage 3", "Stage 4"),
       lty = 1:4,
       col = 1:4,
       bty = "n")

# Interpretasi Berdasarkan kurva Kaplan–Meier, stadium 1 dan stadium 2 menunjukkan probabilitas survival yang relatif lebih tinggi dibandingkan stadium 3 dan stadium 4. Stadium 4 mengalami penurunan probabilitas survival paling cepat dan mencapai nilai 0,1 sekitar bulan ke-4. Sementara itu, stadium 3 menunjukkan penurunan survival secara bertahap, sedangkan stadium 1 dan stadium 2 cenderung memiliki probabilitas survival lebih tinggi hingga akhir pengamatan. Hal ini menunjukkan bahwa pasien dengan stadium penyakit lebih lanjut cenderung memiliki peluang bertahan hidup lebih rendah.

fit.larynx <- survfit(Surv(time, delta) ~ stage, data = larynx, conf.type = "log-log")
summary(fit.larynx)
## Call: survfit(formula = Surv(time, delta) ~ stage, data = larynx, conf.type = "log-log")
## 
##                 stage=1 
##  time n.risk n.event survival std.err lower 95% CI upper 95% CI
##   0.6     33       1    0.970  0.0298        0.804        0.996
##   1.3     32       1    0.939  0.0415        0.779        0.984
##   2.4     31       1    0.909  0.0500        0.744        0.970
##   3.2     29       1    0.878  0.0573        0.706        0.952
##   3.3     27       1    0.845  0.0637        0.667        0.933
##   3.5     25       2    0.778  0.0744        0.588        0.888
##   4.0     23       2    0.710  0.0819        0.515        0.838
##   4.3     21       1    0.676  0.0847        0.481        0.811
##   5.3     18       1    0.639  0.0879        0.441        0.782
##   6.0     14       1    0.593  0.0927        0.391        0.748
##   6.4     11       1    0.539  0.0987        0.331        0.708
##   6.5     10       1    0.485  0.1025        0.277        0.665
##   7.4      6       1    0.404  0.1129        0.191        0.610
## 
##                 stage=2 
##  time n.risk n.event survival std.err lower 95% CI upper 95% CI
##   0.2     17       1    0.941  0.0571        0.650        0.991
##   1.8     16       1    0.882  0.0781        0.606        0.969
##   2.0     15       1    0.824  0.0925        0.547        0.939
##   3.6     11       1    0.749  0.1103        0.456        0.899
##   4.0      9       1    0.665  0.1255        0.364        0.849
##   6.2      5       1    0.532  0.1557        0.209        0.776
##   7.0      4       1    0.399  0.1641        0.110        0.683
## 
##                 stage=3 
##  time n.risk n.event survival std.err lower 95% CI upper 95% CI
##   0.3     27       2    0.926  0.0504        0.735        0.981
##   0.5     25       1    0.889  0.0605        0.694        0.963
##   0.7     24       1    0.852  0.0684        0.652        0.942
##   0.8     23       1    0.815  0.0748        0.611        0.918
##   1.0     22       1    0.778  0.0800        0.571        0.893
##   1.3     21       1    0.741  0.0843        0.532        0.867
##   1.6     20       1    0.704  0.0879        0.494        0.839
##   1.8     19       1    0.667  0.0907        0.457        0.811
##   1.9     18       2    0.593  0.0946        0.386        0.750
##   3.2     16       1    0.556  0.0956        0.352        0.718
##   3.5     15       1    0.519  0.0962        0.319        0.685
##   5.0     10       1    0.467  0.0995        0.267        0.644
##   6.3      7       1    0.400  0.1053        0.200        0.593
##   6.4      6       1    0.333  0.1068        0.143        0.538
##   7.8      4       1    0.250  0.1078        0.078        0.471
## 
##                 stage=4 
##  time n.risk n.event survival std.err lower 95% CI upper 95% CI
##   0.1     13       1    0.923  0.0739      0.56636        0.989
##   0.3     12       1    0.846  0.1001      0.51220        0.959
##   0.4     11       1    0.769  0.1169      0.44214        0.919
##   0.8     10       2    0.615  0.1349      0.30834        0.818
##   1.0      8       1    0.538  0.1383      0.24766        0.760
##   1.5      7       1    0.462  0.1383      0.19161        0.696
##   2.0      6       1    0.385  0.1349      0.14054        0.628
##   2.3      5       1    0.308  0.1280      0.09498        0.554
##   3.6      3       1    0.205  0.1196      0.03845        0.463
##   3.8      2       1    0.103  0.0940      0.00666        0.355

Interpretasi

survdiff(Surv(time, delta) ~ stage, data = larynx)
## Call:
## survdiff(formula = Surv(time, delta) ~ stage, data = larynx)
## 
##          N Observed Expected (O-E)^2/E (O-E)^2/V
## stage=1 33       15    22.57     2.537     4.741
## stage=2 17        7    10.01     0.906     1.152
## stage=3 27       17    14.08     0.603     0.856
## stage=4 13       11     3.34    17.590    19.827
## 
##  Chisq= 22.8  on 3 degrees of freedom, p= 5e-05

Interpretasi

reg.larynx <- coxph(Surv(time, delta) ~ factor(stage), data = larynx)
summary(reg.larynx)
## Call:
## coxph(formula = Surv(time, delta) ~ factor(stage), data = larynx)
## 
##   n= 90, number of events= 50 
## 
##                   coef exp(coef) se(coef)     z Pr(>|z|)    
## factor(stage)2 0.06481   1.06696  0.45843 0.141   0.8876    
## factor(stage)3 0.61481   1.84930  0.35519 1.731   0.0835 .  
## factor(stage)4 1.73490   5.66838  0.41939 4.137 3.52e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                exp(coef) exp(-coef) lower .95 upper .95
## factor(stage)2     1.067     0.9372    0.4344      2.62
## factor(stage)3     1.849     0.5407    0.9219      3.71
## factor(stage)4     5.668     0.1764    2.4916     12.90
## 
## Concordance= 0.668  (se = 0.037 )
## Likelihood ratio test= 16.49  on 3 df,   p=9e-04
## Wald test            = 19.24  on 3 df,   p=2e-04
## Score (logrank) test = 22.88  on 3 df,   p=4e-05

Interpretasi