R

Statistika di R : Survival Analysis R Language

Pengertian Survival Analysis

Analisis kelangsungan hidup atau survival analysis berkaitan dengan memprediksi waktu ketika suatu peristiwa tertentu akan terjadi. Hal ini juga dikenal sebagai analisis waktu kegagalan atau analisis waktu sampai mati. Misalnya memprediksi jumlah hari penderita kanker akan bertahan hidup atau memprediksi waktu ketika sistem mekanis akan gagal.

Paket R bernama survival digunakan untuk melakukan analisis survival. Paket ini berisi fungsi Surv () yang mengambil data masukan sebagai rumus R dan membuat objek kelangsungan hidup di antara variabel yang dipilih untuk dianalisis. Kemudian kita akan menggunakan fungsi survfit() untuk membuat plot untuk analisis.

Instal Paket

install.packages ("bertahan hidup")

Syntax

Sintaks dasar untuk membuat analisis kelangsungan hidup di R adalah :

Surv (time, event)
survfit (formula)

Deskrispi :

time adalah waktu tindak lanjut sampai kejadian tersebut terjadi.

event menunjukkan status terjadinya acara yang diharapkan.

formula adalah hubungan antara variabel prediktor.

Contoh

Kita akan mempertimbangkan kumpulan data bernama “pbc” yang ada dalam paket survival yang diinstal di atas. Hal ini menjelaskan poin data kelangsungan hidup tentang orang yang terkena sirosis bilier primer (PBC) hati. Di antara banyak kolom yang ada dalam kumpulan data terutama memperhatikan bidang “time” dan “status”. Waktu mewakili jumlah hari antara pendaftaran pasien dan awal kejadian antara pasien menerima transplantasi hati atau kematian pasien.

# Load the library.
library("survival")

# Print first few rows.
print(head(pbc))

Output :

  id time status trt      age sex ascites hepato spiders edema bili chol
1  1  400      2   1 58.76523   f       1      1       1   1.0 14.5  261
2  2 4500      0   1 56.44627   f       0      1       1   0.0  1.1  302
3  3 1012      2   1 70.07255   m       0      0       0   0.5  1.4  176
4  4 1925      2   1 54.74059   f       0      1       1   0.5  1.8  244
5  5 1504      1   2 38.10541   f       0      1       1   0.0  3.4  279
6  6 2503      2   2 66.25873   f       0      1       0   0.0  0.8  248
  albumin copper alk.phos    ast trig platelet protime stage
1    2.60    156   1718.0 137.95  172      190    12.2     4
2    4.14     54   7394.8 113.52   88      221    10.6     3
3    3.48    210    516.0  96.10   55      151    12.0     4
4    2.54     64   6121.8  60.63   92      183    10.3     4
5    3.53    143    671.0 113.15   72      136    10.9     3
6    3.98     50    944.0  93.00   63       NA    11.0     3

Dari data di atas kita dapat mempertimbangkan time dan status untuk analisis kami.

Menerapkan Fungsi Surv() dan survfit()

Sekarang kita akan melanjutkan untuk menerapkan fungsi Surv() ke kumpulan data di atas dan membuat plot yang akan menunjukkan tren.

# Load the library.
library("survival")

# buat survvial objek. 
survfit(Surv(pbc$time,pbc$status == 2)~1)

# Beri nama file chartnya
png(file = "survival.png")

# Plot grafiknya.
plot(survfit(Surv(pbc$time,pbc$status == 2)~1))

# Simpan file.
dev.off()

Output :

Call: survfit(formula = Surv(pbc$time, pbc$status == 2) ~ 1)

      n  events  median 0.95LCL 0.95UCL 
    418     161    3395    3090    3853 

Tren pada grafik di atas membantu kita memprediksi kemungkinan bertahan hidup pada akhir beberapa hari.


Hanifah Nurbaeti