Email: widiyantihoen00@gmail.com
RPubs: https://rpubs.com/widyaoen/
Berbagai hal kecil yang mungkin muncul dan berguna untuk diketahui:
Salah satu asumsi dari proporsional risiko model regresi Cox adalah bahwa risiko proporsional pada setiap titik waktu selama tindak lanjut. Bagaimana kami dapat memeriksa apakah data kami memenuhi asumsi ini?
Gunakan fungsi cox.zph dari paket survival. Menghasilkan dua hal:
library(survival)
mv_fit <- coxph(Surv(time, status) ~ sex + age, data = lung)
cz <- cox.zph(mv_fit)
print(cz)## chisq df p
## sex 2.608 1 0.11
## age 0.209 1 0.65
## GLOBAL 2.771 2 0.25
Terkadang Anda harus memvisualisasikan perkiraan survival berdasarkan variabel kontinu. Fungsi sm.survival dari paket sm memungkinkan Anda melakukan ini dalam kuantil dari distribusi data survival. Default kuantil untuk median adalah p = 0.5.
## Package 'sm', version 2.2-5.6: type help(sm) for summary information
sm.options(
list(
xlab = "Age (years)",
ylab = " Time to death (years)")
)
sm.survival(
x = lung$age,
y = lung$time,
status = lung$status,
h = sd(lung$age) / nrow(lung)^(-1/4)
)Opsi h adalah parameter yang membuat plot menjadi halus/mulus. Hal ini berkaitan dengan standar deviasi dari kovariat kontinu, \(x\). Dimulai dengan \(\frac{sd(x)}{n^{-1/4}}\) lalu dikurangi dengan \(1/2\), \(1/4\), dsb untuk mendapatkan kehalusan yang tepat. Plot sebelumnya terlalu halus/mulus, maka dikurangi dengan \(1/4\)
sm.survival(
x = lung$age,
y = lung$time,
status = lung$status,
h = (1/4) * sd(lung$age) / nrow(lung)^(-1/4)
)Terkadang menarik untuk menghasilkan perkiraan kelangsungan hidup di antara sekelompok pasien yang telah bertahan selama beberapa waktu.
\[S(y|x) = \frac{S(x + y)}{S(x)}\]
Referensi:Zabor, E., Gonen, M., Chapman, P., & Panageas, K. (2013). Dynamic prognostication using conditional survival estimates. Cancer, 119(20), 3589-3592.
Estimasinya mudah untuk dibuat dengan matematika dasar Anda sendiri.
Secara alternatif, ada sebuah paket bernama condsurv untuk membuat estimasi dan plot yang berkaitan dengan syarat kelangsungan hidup. Kita bisa gunakan fungsi conditional_surv_est untuk mendapatkan estimasi dan selang kepercayaan sebesar 95%. Mari buat syarat bertahan hidup 6 bulan
library(condsurv)
library(DT)
library(tidyverse)
library(kableExtra)
fit1 <- survfit(Surv(time, status) ~ 1, data = lung)
prob_times <- seq(365.25, 182.625 * 5, 182.625)
purrr::map_df(
prob_times,
~conditional_surv_est(
basekm = fit1,
t1 = 182.625,
t2 = .x)
) %>%
mutate(months = round(prob_times / 30.4)) %>%
select(months, everything()) %>%
datatable()Ingatlah bahwa perkiraan kelangsungan hidup 1 tahun awal kami adalah 0,41. Kami melihat bahwa untuk pasien yang sudah bertahan hidup 6 bulan, angka ini meningkat menjadi 0,58.
Kami juga bisa visualisasikan data kelangsungan hidup bersyarat berdasarkan perbedaan panjangnya waktu bertahan. Fungsi condsurv::condKMggplot dapat membantu hal ini.
cond_times <- seq(0, 182.625 * 4, 182.625)
gg_conditional_surv(
basekm = fit1,
at = cond_times,
main = "Kelangsungan hidup bersyarat dalam data paru-paru",
xlab = "Hari"
) +
labs(color = "Waktu Persyaratan")Hasil plot memiliki kurva untuk masing-masing kelangsungan hidup dengan persyaratannya. Dalam kasus ini, garis pertama adalah kelangsungan hidup keseluruan karena syarat waktunya 0.