D.5 Conventional Analysis

일반적으로 생존 자료(survival data)는 다음과 같이 분석한다.

먼저 성별 군간 구분없이 분석하면 다음과 같다.

require(survival)
r4 = survfit(Surv(TIME, DV) ~ 1, d1) ; r4
Call: survfit(formula = Surv(TIME, DV) ~ 1, data = d1)

      n events median 0.95LCL 0.95UCL
[1,] 50     48   53.5      43      75
summary(r4)
Call: survfit(formula = Surv(TIME, DV) ~ 1, data = d1)

 time n.risk n.event survival std.err lower 95% CI upper 95% CI
    6     50       1     0.98  0.0198       0.9420        1.000
   11     49       1     0.96  0.0277       0.9072        1.000
   12     48       2     0.92  0.0384       0.8478        0.998
   16     46       2     0.88  0.0460       0.7944        0.975
   24     44       2     0.84  0.0518       0.7443        0.948
   25     42       1     0.82  0.0543       0.7201        0.934
   27     41       1     0.80  0.0566       0.6965        0.919
   30     40       3     0.74  0.0620       0.6279        0.872
   32     37       1     0.72  0.0635       0.6057        0.856
   35     36       1     0.70  0.0648       0.5838        0.839
   38     35       2     0.66  0.0670       0.5409        0.805
   42     33       1     0.64  0.0679       0.5199        0.788
   43     32       2     0.60  0.0693       0.4785        0.752
   44     30       1     0.58  0.0698       0.4581        0.734
   45     29       1     0.56  0.0702       0.4380        0.716
   46     28       2     0.52  0.0707       0.3984        0.679
   49     26       1     0.50  0.0707       0.3790        0.660
   58     25       1     0.48  0.0707       0.3597        0.641
   59     24       1     0.46  0.0705       0.3407        0.621
   61     23       1     0.44  0.0702       0.3218        0.602
   63     22       2     0.40  0.0693       0.2849        0.562
   66     20       1     0.38  0.0686       0.2667        0.541
   67     19       1     0.36  0.0679       0.2488        0.521
   70     18       1     0.34  0.0670       0.2311        0.500
   75     17       2     0.30  0.0648       0.1964        0.458
   76     15       1     0.28  0.0635       0.1795        0.437
   78     14       1     0.26  0.0620       0.1629        0.415
   79     13       1     0.24  0.0604       0.1466        0.393
   80     12       1     0.22  0.0586       0.1305        0.371
   81     11       1     0.20  0.0566       0.1149        0.348
   83     10       1     0.18  0.0543       0.0996        0.325
   87      9       1     0.16  0.0518       0.0848        0.302
   89      8       1     0.14  0.0491       0.0704        0.278
   90      7       1     0.12  0.0460       0.0566        0.254
   96      6       2     0.08  0.0384       0.0313        0.205
   99      4       1     0.06  0.0336       0.0200        0.180
  100      3       1     0.04  0.0277       0.0103        0.156
#dev.new()
par(mfrow = c(1, 2))
plot(r4, mark.time=T, main="Survival Probability", xlab="Time", ylab="Survival Probability")
plot(r4, cumhaz=T, main="Cumulative Hazard", xlab="Time", ylab="Cumulative Hazard")
Base model without covariate

Figure D.4: Base model without covariate

성별에 따른 차이를 보고 싶다면 다음과 같다.

r5 = survfit(Surv(TIME, DV) ~ SEX, d1) ; r5
Call: survfit(formula = Surv(TIME, DV) ~ SEX, data = d1)

       n events median 0.95LCL 0.95UCL
SEX=0 26     25   66.5      38      87
SEX=1 24     23   46.0      42      63
r6 = survdiff(Surv(TIME, DV) ~ SEX, d1) ; r6 # no difference
Call:
survdiff(formula = Surv(TIME, DV) ~ SEX, data = d1)

       N Observed Expected (O-E)^2/E (O-E)^2/V
SEX=0 26       25     28.4     0.408      1.06
SEX=1 24       23     19.6     0.591      1.06

 Chisq= 1.1  on 1 degrees of freedom, p= 0.3 

위 결과를 보면 통계적으로 유의한 차이가 없다.

D.5.1 Conventional Plotting

앞의 결과를 그리면 다음과 같다.

#dev.new()
par(mfrow = c(1, 2))
plot(r5, col=c("red", "blue"), conf.int=T, mark.time=T, 
     main="Survival Probability", xlab="Time", ylab="Survival Probability")
plot(r5, col=c("red", "blue"), conf.int=T, mark.time=T, cumhaz=T, 
     main="Cumulative Hazard", xlab="Time", ylab="Cumulative Hazard")
Survival and cumulative hazard of the covariate model

Figure D.5: Survival and cumulative hazard of the covariate model

만약 성별로 각각 적합(fitting)하고 그림을 그린다면 다음과 같다.

r5a = survfit(Surv(TIME, DV) ~ 1, d1[d1$SEX == 0, ]) ; r5a
Call: survfit(formula = Surv(TIME, DV) ~ 1, data = d1[d1$SEX == 0, 
    ])

      n events median 0.95LCL 0.95UCL
[1,] 26     25   66.5      38      87
r5b = survfit(Surv(TIME, DV) ~ 1, d1[d1$SEX == 1, ]) ; r5b
Call: survfit(formula = Surv(TIME, DV) ~ 1, data = d1[d1$SEX == 1, 
    ])

      n events median 0.95LCL 0.95UCL
[1,] 24     23     46      42      63
#dev.new()
par(mfrow=c(1, 2))
plot(r5a, mark.time=T, main="SEX=0", xlab="Time", ylab="Survival Probability")
plot(r5b, mark.time=T, main="SEX=1", xlab="Time", ylab="Survival Probability")
Survival with separate fitting

Figure D.6: Survival with separate fitting