D.5 Conventional Analysis
일반적으로 생존 자료(survival data)는 다음과 같이 분석한다.
먼저 성별 군간 구분없이 분석하면 다음과 같다.
require(survival)
= survfit(Surv(TIME, DV) ~ 1, d1) ; r4 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")
Figure D.4: Base model without covariate
성별에 따른 차이를 보고 싶다면 다음과 같다.
= survfit(Surv(TIME, DV) ~ SEX, d1) ; r5 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
= survdiff(Surv(TIME, DV) ~ SEX, d1) ; r6 # no difference r6
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")
Figure D.5: Survival and cumulative hazard of the covariate model
만약 성별로 각각 적합(fitting)하고 그림을 그린다면 다음과 같다.
= survfit(Surv(TIME, DV) ~ 1, d1[d1$SEX == 0, ]) ; r5a 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
= survfit(Surv(TIME, DV) ~ 1, d1[d1$SEX == 1, ]) ; r5b 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")
Figure D.6: Survival with separate fitting