Emails \(\hspace{0.6cm}:\) 1.
\(\hspace{1.9cm}\) 2.
Instagram \(\hspace{0.03cm}:\) https://www.instagram.com/j.hodawya/
Linked In \(\hspace{0.2cm}:\) https://www.linkedin.com/in/juenzy-hodawya-a310ab1a3/
RPubs \(\hspace{0.67cm}:\) https://rpubs.com/JHodawya
Kaggle \(\hspace{0.6cm}:\) https://www.kaggle.com/juenzyhodawya
GitHub \(\hspace{0.52cm}:\) https://github.com/JuenzyHodawya


1 Kata Pengantar

Dalam Bagian 1 kita membahas penggunaan uji log-rank dan regresi Cox untuk memeriksa hubungan antara kovariat dari minat dan hasil survival. Namun analisis ini bergantung pada kovariat yang diukur pada waktu permulaan, yaitu sebelum waktu follow-up untuk kejadian tersebut dimulai. Apa yang terjadi jika Anda tertarik dengan kovariat yang diukur setelah waktu follow-up dimulai?

2 Contoh: Respon Tumor

Contoh: Kelangsungan hidup secara keseluruhan diukur dari awal pengobatan, dan minat pada hubungan antara respon lengkap terhadap pengobatan dan kelangsungan hidup.

  • Anderson et al (JCO, 1983) menjelaskan mengapa metode tradisional seperti uji log-rank atau regresi Cox mengalami bias dalam mendukung responden dan mengusulkan pendekatan penanda.
  • Hipotesis nol dalam pendekatan penanda adalah bahwa kelangsungan hidup dari penanda tidak bergantung pada status respon di penanda.

Referensi: Anderson, J., Cain, K., & Gelber, R. (1983). Analysis of survival by tumor response. Journal of Clinical Oncology : Official Journal of the American Society of Clinical Oncology, 1(11), 710-9.

3 Contoh Lainnya

Beberapa kovariat lain yang mungkin menarik dalam penelitian kanker yang mungkin tidak diukur pada waktu permulaan meliputi:

  • kegagalan transplantasi
  • penyakit graft versus host
  • reseksi kedua
  • terapi adjuvan
  • pemenuhan
  • kejadian buruk

4 Contoh Set Data BMT

Data tentang 137 pasien transplantasi sumsum tulang (dari package SemiCompRisks). Variabel yang diminati meliputi:

  • Waktu T1 (dalam hari) hingga kematian atau follow-up terakhir
  • Indikator kematian delta1; 1-Mati, 0-Hidup
  • Waktu TA (dalam hari) untuk penyakit graft versus host akut
  • Indikator penyakit graft versus host akut deltaA; 1-Mengembangkan penyakit graft versus host akut, 0-Tidak pernah mengembangkan penyakit graft versus host akut

Mari muat data sehingga dapat digunakan sebagai contoh.

library(SemiCompRisks)                               # library untuk data set
library(DT)                                          # digunakan untuk fungsi datatable 
data(BMT, package = "SemiCompRisks")
datatable(BMT)

5 Metode Penanda

  1. Pilih waktu yang telah ditetapkan setelah waktu permulaan sebagai waktu penanda Anda.
    Catatan: ini harus dilakukan berdasarkan informasi klinis, sebelum pemeriksaan data.
  2. Subset populasi untuk yang diikuti setidaknya sampai waktu penanda.
    Catatan: selalu laporkan nomor yang dikecualikan karena kejadian yang menarik atau terjadinya sensor sebelum waktu penanda.
  3. Hitung follow-up dari waktu penanda dan terapkan uji log-rank tradisional atau regresi Cox.

Dalam data BMT ada hubungan antara penyakit graft vs host akut (aGVHD) dan kelangsungan hidup. Tetapi aGVHD dinilai setelah transplantasi, yang merupakan waktu permulaan kita, atau dimulainya suatu follow-up.

Langkah 1 Pilih waktu penanda

Biasanya aGVHD terjadi dalam 90 hari pertama setelah transplantasi, jadi kita akan menggunakan penanda 90 hari.

Ketertarikan ada pada hubungan antara penyakit graft vs host akut (aGVHD) dan kelangsungan hidup. Tetapi aGVHD dinilai setelah transplantasi, yang merupakan waktu permulaan kita, atau dimulainya follow-up.

Langkah 2 Subset populasi untuk mereka yang diikuti setidaknya sampai waktu penanda.

library(tidyverse)
lm_dat <- 
  BMT %>% 
  filter(T1 >= 90) 

Ini mengurangi ukuran sampel kita dari 137 menjadi 122.

  • 15 pasien yang dikecualikan meninggal sebelum penanda 90 hari.

Ketertarikan ada pada hubungan antara penyakit graft vs host akut (aGVHD) dan kelangsungan hidup. Tetapi aGVHD dinilai setelah transplantasi, yang merupakan waktu permulaan kita, atau dimulainya follow-up.

Langkah 3 Hitung waktu follow-up dari penanda dan terapkan metode tradisional.

lm_dat <- 
  lm_dat %>% 
  mutate(lm_T1 = T1 - 90)

lm_fit <- survfit(Surv(lm_T1, delta1) ~ deltaA, data = lm_dat)
require(survminer)
ggsurvplot(
  fit = lm_fit, 
  data = lm_dat,
  xlab = "Days from 90-day landmark",
  risk.table = T,
  risk.table.y.text = T,
  pval = TRUE
)

6 Regresi Cox

Untuk menerapkan Regresi Cox kita dapat menggunakan data BMT, Anda dapat menggunakan opsi subset dalam coxph untuk mengecualikan pasien yang tidak diikuti selama waktu penanda.

coxph(
  Surv(T1, delta1) ~ deltaA, 
  subset = T1 >= 90, 
  data = BMT
  ) %>% 
  gtsummary::tbl_regression(exp = TRUE)
Characteristic HR1 95% CI1 p-value
deltaA 1.08 0.57, 2.07 0.8

1 HR = Hazard Ratio, CI = Confidence Interval

7 Kovariat yang Bergantung pada Waktu

Alternatif untuk analisis penanda adalah penggabungan kovariat yang bergantung pada waktu. Ini mungkin lebih tepat bila

  • nilai kovariat berubah seiring waktu
  • tidak ada waktu penanda yang jelas
  • penggunaan penanda akan menyebabkan banyak pengecualian

8 Pengaturan Kovariat

Analisis kovariat yang bergantung pada waktu di R memerlukan persiapan data set khusus. Lihat makalah terperinci tentang hal ini oleh penulis package survival yang Menggunakan Kovariat yang Bergantung pada Waktu dan Koefisien yang Bergantung pada Waktu dalam Model Cox.

Tidak ada variabel ID dalam data BMT, yang diperlukan untuk membuat data set khusus, jadi buatlah nama variabel yang disebut my_id.

bmt <- rowid_to_column(BMT, "my_id")

Gunakan fungsi tmerge dengan opsi fungsi event dan tdc untuk membuat data set khusus.

  • tmerge membuat data set panjang dengan beberapa interval waktu untuk nilai kovariat yang berbeda untuk setiap pasien.
  • event membuat indikator kejadian baru untuk menyesuaikan dengan interval waktu yang baru dibuat.
  • tdc membuat indikator kovariat yang bergantung pada waktu untuk mengikuti interval waktu yang baru dibuat.
td_dat <- 
  tmerge(
    data1 = bmt %>% select(my_id, T1, delta1), 
    data2 = bmt %>% select(my_id, T1, delta1, TA, deltaA), 
    id = my_id, 
    death = event(T1, delta1),
    agvhd = tdc(TA)
    )

9 Contoh Pasien Tunggal

Untuk mengetahui fungsinya, mari kita lihat data untuk 5 pasien individu pertama.

Variabel yang menarik dalam data asli terlihat sebagai berikut

bmt %>% 
  select(my_id, T1, delta1, TA, deltaA) %>% 
  filter(my_id %in% seq(1, 5))
##   my_id   T1 delta1   TA deltaA
## 1     1 2081      0   67      1
## 2     2 1602      0 1602      0
## 3     3 1496      0 1496      0
## 4     4 1462      0   70      1
## 5     5 1433      0 1433      0

Data set baru untuk pasien yang sama ini terlihat sebagai berikut

td_dat %>% 
  filter(my_id %in% seq(1, 5))
##   my_id   T1 delta1 id tstart tstop death agvhd
## 1     1 2081      0  1      0    67     0     0
## 2     1 2081      0  1     67  2081     0     1
## 3     2 1602      0  2      0  1602     0     0
## 4     3 1496      0  3      0  1496     0     0
## 5     4 1462      0  4      0    70     0     0
## 6     4 1462      0  4     70  1462     0     1
## 7     5 1433      0  5      0  1433     0     0

10 Bergantung pada Waktu & Regresi Cox

Sekarang kita dapat menganalisis kovariat yang bergantung pada waktu menggunakan regresi Cox dengan coxph dan perubahan pada penggunaan Surv untuk menyertakan argumen time dan time2.

coxph(
  Surv(time = tstart, time2 = tstop, event = death) ~ agvhd, 
  data = td_dat
  ) %>% 
  gtsummary::tbl_regression(exp = TRUE)
Characteristic HR1 95% CI1 p-value
agvhd 1.40 0.81, 2.43 0.2

1 HR = Hazard Ratio, CI = Confidence Interval

11 Ringkasan

Kita menemukan bahwa penyakit graft vs host akut tidak secara signifikan terkait dengan kematian apabila menggunakan analisis penanda atau kovariat yang bergantung pada waktu.

Seringkali seseorang ingin menggunakan analisis penanda untuk visualisasi kovariat tunggal, dan regresi Cox dengan kovariat yang bergantung waktu untuk pemodelan univariabel dan multivariabel.