library(readxl)
library(survival)
library(survminer)
## Warning: package 'survminer' was built under R version 4.3.3
## Loading required package: ggplot2
## Loading required package: ggpubr
## Warning: package 'ggpubr' was built under R version 4.3.2
## 
## Attaching package: 'survminer'
## The following object is masked from 'package:survival':
## 
##     myeloma

Load Dataset

data <- read_excel("C:/Users/ditha/Downloads/data remisi pasien leukimia.xlsx")
print(data)
## # A tibble: 42 × 6
##     Time Status    Rx LogWBC `RX_log WBC`   Sex
##    <dbl>  <dbl> <dbl>  <dbl>        <dbl> <dbl>
##  1     6      1     1   2.31         2.31     1
##  2     6      1     1   4.06         4.06     1
##  3     6      1     1   3.28         3.28     1
##  4     7      1     1   4.43         4.43     1
##  5    10      1     1   2.96         2.96     1
##  6    13      1     1   2.88         2.88     1
##  7    16      1     1   3.6          3.6      1
##  8    22      1     1   2.32         2.32     1
##  9    23      1     1   2.57         2.57     0
## 10     6      0     1   3.2          3.2      1
## # ℹ 32 more rows

Model Survival Parametrik Eksponensial (AFT)

model <- survreg(Surv(Time, Status) ~ LogWBC + Sex + Rx, data = data, dist = 'exponential')
summary(model)
## 
## Call:
## survreg(formula = Surv(Time, Status) ~ LogWBC + Sex + Rx, data = data, 
##     dist = "exponential")
##              Value Std. Error     z       p
## (Intercept)  7.460      1.020  7.31 2.6e-13
## LogWBC      -0.950      0.227 -4.19 2.8e-05
## Sex         -0.400      0.389 -1.03  0.3040
## Rx          -1.080      0.403 -2.68  0.0074
## 
## Scale fixed at 1 
## 
## Exponential distribution
## Loglik(model)= -100.2   Loglik(intercept only)= -116.8
##  Chisq= 33.07 on 3 degrees of freedom, p= 3.1e-07 
## Number of Newton-Raphson Iterations: 4 
## n= 42
# Prediksi berdasarkan model
data$predicted_survival <- predict(model, newdata = data, type = "quantile", p = 0.5)

# Visualisasi kurva survival
ggsurvplot(
  survfit(Surv(Time, Status) ~ Rx, data = data),
  data = data,
  pval = TRUE,
  ggtheme = theme_classic(),          
  legend.title = "Pengobatan",
  legend.labs = levels(data$Rx),      
)