R-생존 분석

생존 분석은 특정 이벤트가 발생할 시간을 예측합니다. 고장 시간 분석 또는 사망 시간 분석이라고도합니다. 예를 들어, 암에 걸린 사람이 생존 할 일수를 예측하거나 기계 시스템이 고장날 시간을 예측합니다.

이름이 지정된 R 패키지 survival생존 분석을 수행하는 데 사용됩니다. 이 패키지에는 기능이 포함되어 있습니다.Surv()입력 데이터를 R 공식으로 사용하고 분석을 위해 선택한 변수 중에서 생존 개체를 만듭니다. 그런 다음 함수를 사용합니다.survfit() 분석을위한 플롯을 생성합니다.

패키지 설치

install.packages("survival")

통사론

R에서 생존 분석을 생성하는 기본 구문은 다음과 같습니다.

Surv(time,event)
survfit(formula)

다음은 사용 된 매개 변수에 대한 설명입니다.

  • time 이벤트가 발생할 때까지의 후속 작업 시간입니다.

  • event 예상되는 이벤트의 발생 상태를 나타냅니다.

  • formula 예측 변수 간의 관계입니다.

위에 설치된 생존 패키지에있는 "pbc"라는 데이터 세트를 고려할 것입니다. 간 원발성 담즙 성 간경변 (PBC)으로 영향을받은 사람들의 생존 데이터 포인트를 설명합니다. 데이터 세트에있는 많은 열 중에서 우리는 주로 "시간"및 "상태"필드와 관련이 있습니다. 시간은 환자 등록과 간 이식을받는 환자 또는 환자의 사망 사이의 이벤트 초기 사이의 일 수를 나타냅니다.

# Load the library.
library("survival")

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

위의 코드를 실행하면 다음과 같은 결과와 차트가 생성됩니다.

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

위의 데이터에서 분석 시간과 상태를 고려하고 있습니다.

Surv () 및 survfit () 함수 적용

이제 우리는 Surv() 기능을 위의 데이터 세트에 추가하고 추세를 보여주는 플롯을 만듭니다.

# Load the library.
library("survival")

# Create the survival object. 
survfit(Surv(pbc$time,pbc$status == 2)~1)

# Give the chart file a name.
png(file = "survival.png")

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

# Save the file.
dev.off()

위의 코드를 실행하면 다음과 같은 결과와 차트가 생성됩니다.

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

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

위 그래프의 추세는 특정 일수가 끝날 때 생존 확률을 예측하는 데 도움이됩니다.