nrow(dat)[1] 9775
range(dat$year)[1] 1990 2002
nrow(dat)[1] 9775
range(dat$year)[1] 1990 2002
[1] "hla.match" "age.donor" "age.rec" "cold.isc" "death" "year"
[7] "sex" "tx.type" "follow.up"
| Characteristic | Overall N = 9,775 |
Cadaveric N = 5,148 |
Living N = 4,627 |
|---|---|---|---|
| Sex, n(%) | |||
| Female | 4,014 (41%) | 2,105 (41%) | 1,909 (41%) |
| Male | 5,761 (59%) | 3,043 (59%) | 2,718 (59%) |
| Recipient age, median (IQR) | 13 (8, 16) | 13 (7, 16) | 14 (9, 16) |
| Unknown | 9 | 7 | 2 |
| Donor age, median (IQR) | 33 (21, 41) | 37 (31, 42) | 22 (15, 37) |
| Unknown | 113 | 112 | 1 |
| HLA matches, n(%) | |||
| 0 | 784 (8.2%) | 125 (2.5%) | 659 (14%) |
| 1 | 1,504 (16%) | 160 (3.2%) | 1,344 (29%) |
| 2 | 1,553 (16%) | 228 (4.6%) | 1,325 (29%) |
| 3 | 3,778 (40%) | 3,039 (61%) | 739 (16%) |
| 4 | 1,278 (13%) | 1,007 (20%) | 271 (5.9%) |
| 5 | 365 (3.8%) | 241 (4.9%) | 124 (2.7%) |
| 6 | 279 (2.9%) | 153 (3.1%) | 126 (2.7%) |
| Unknown | 234 | 195 | 39 |
| Cold ischemic time (hours), median (IQR) | 7 (1, 19) | 1 (0, 1) | 19 (13, 25) |
| Unknown | 2,250 | 1,490 | 760 |
sex are similar across tx.type


0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
58 290 227 156 161 151 155 167 202 218 218 250 287 330 357 420 466 508 520
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
35 104 154 121 118 135 147 166 169 170 212 193 254 314 328 454 469 565 517
Living donors have less hla.match then cadaveric donors.



| Overall Kaplan-Meier Survival Summary | ||||
|---|---|---|---|---|
| Follow-up Time | Number at Risk | Survival Probability | Upper 95% CI | Lower 95% CI |
| 0 | 9775 | 1.000 | 0.999 | 1.000 |
| 2 | 6451 | 0.968 | 0.964 | 0.971 |
| 4 | 4150 | 0.953 | 0.948 | 0.958 |
| 6 | 2398 | 0.937 | 0.931 | 0.944 |
| 8 | 1197 | 0.919 | 0.910 | 0.928 |
| 10 | 492 | 0.901 | 0.888 | 0.913 |
| 12 | 48 | 0.888 | 0.871 | 0.905 |
total first.1.total first.1.ratio first.5.total first.5.ratio
1 465 216 46.45161 390 83.87097



| Estimated Hazard Rate by Transplant Type | ||
|---|---|---|
| Follow-up Interval | Deceased | Living |
| 1/3 | 0.010 | 0.022 |
| 2/3 | 0.003 | 0.006 |
| 1 | 0.003 | 0.004 |
| 2 | 0.006 | 0.011 |
| 3 | 0.005 | 0.008 |
| 4 | 0.006 | 0.010 |
| 5 | 0.005 | 0.011 |
Call:
coxph(formula = Surv(follow.up, death) ~ tx.type, data = dat)
n= 9775, number of events= 465
coef exp(coef) se(coef) z Pr(>|z|)
tx.typeLiving 0.64469 1.90539 0.09558 6.745 1.53e-11 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
exp(coef) exp(-coef) lower .95 upper .95
tx.typeLiving 1.905 0.5248 1.58 2.298
Concordance= 0.586 (se = 0.012 )
Likelihood ratio test= 47.1 on 1 df, p=7e-12
Wald test = 45.5 on 1 df, p=2e-11
Score (logrank) test = 47.09 on 1 df, p=7e-12

Call: survfit(formula = Surv(follow.up, death) ~ tx.type, data = dat)
tx.type=Cadaveric
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 5148 0 1.000 0.00000 1.000 1.000
4 2297 130 0.967 0.00294 0.961 0.973
8 711 34 0.943 0.00514 0.933 0.953
12 27 13 0.908 0.01135 0.886 0.931
tx.type=Living
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 4627 4 0.999 0.000432 0.998 1.000
4 1853 225 0.937 0.004212 0.928 0.945
8 486 52 0.891 0.007720 0.876 0.906
12 21 7 0.864 0.013257 0.838 0.890
Call:
coxph(formula = Surv(follow.up, death) ~ age.rec, data = dat)
n= 9766, number of events= 464
(9 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
age.rec -0.042550 0.958342 0.008434 -5.045 4.53e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
exp(coef) exp(-coef) lower .95 upper .95
age.rec 0.9583 1.043 0.9426 0.9743
Concordance= 0.586 (se = 0.016 )
Likelihood ratio test= 24.81 on 1 df, p=6e-07
Wald test = 25.45 on 1 df, p=5e-07
Score (logrank) test = 25.75 on 1 df, p=4e-07

Call: survfit(formula = Surv(follow.up, death) ~ age.rec, data = dat)
9 observations deleted due to missingness
age.rec=0
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 93 1 0.989 0.0107 0.969 1.00
4 34 17 0.784 0.0460 0.699 0.88
8 13 0 0.784 0.0460 0.699 0.88
age.rec=1
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 394 0 1.000 0.0000 1.000 1.000
4 158 32 0.900 0.0173 0.866 0.934
8 60 3 0.876 0.0217 0.835 0.920
12 1 0 0.876 0.0217 0.835 0.920
age.rec=2
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 381 0 1.000 0.0000 1.000 1.000
4 161 26 0.917 0.0160 0.886 0.949
8 73 2 0.899 0.0204 0.859 0.939
12 1 2 0.860 0.0336 0.797 0.929
age.rec=3
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 277 0 1.000 0.0000 1.000 1.000
4 130 15 0.938 0.0157 0.907 0.969
8 44 2 0.915 0.0223 0.872 0.960
age.rec=4
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 279 0 1.000 0.0000 1.000 1.000
4 129 14 0.942 0.0151 0.913 0.972
8 44 5 0.895 0.0257 0.846 0.947
12 1 0 0.895 0.0257 0.846 0.947
age.rec=5
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 286 0 1.000 0.0000 1.000 1.000
4 133 10 0.955 0.0141 0.928 0.983
8 49 3 0.920 0.0251 0.872 0.971
12 4 1 0.898 0.0330 0.835 0.965
age.rec=6
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 302 0 1.000 0.0000 1.000 1.000
4 140 10 0.961 0.0123 0.937 0.985
8 53 0 0.961 0.0123 0.937 0.985
12 2 0 0.961 0.0123 0.937 0.985
age.rec=7
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 333 0 1.000 0.0000 1.000 1.000
4 162 14 0.948 0.0140 0.921 0.976
8 62 2 0.932 0.0177 0.898 0.967
12 3 2 0.859 0.0546 0.759 0.973
age.rec=8
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 371 0 1.000 0.0000 1.000 1.000
4 183 12 0.964 0.0102 0.944 0.984
8 72 3 0.935 0.0199 0.897 0.975
12 1 3 0.869 0.0416 0.791 0.954
age.rec=9
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 388 0 1.000 0.0000 1.000 1.000
4 171 12 0.953 0.0137 0.927 0.980
8 63 7 0.891 0.0268 0.840 0.945
12 5 0 0.891 0.0268 0.840 0.945
age.rec=10
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 430 1 0.998 0.00232 0.993 1.000
4 203 7 0.976 0.00876 0.959 0.993
8 69 4 0.943 0.01874 0.907 0.981
12 3 2 0.846 0.06716 0.725 0.989
age.rec=11
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 443 0 1.000 0.0000 1.000 1.000
4 198 8 0.976 0.0087 0.959 0.993
8 63 6 0.921 0.0242 0.875 0.970
12 4 1 0.881 0.0455 0.796 0.975
age.rec=12
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 541 1 0.998 0.00185 0.995 1.000
4 246 15 0.963 0.00943 0.944 0.981
8 69 5 0.933 0.01684 0.900 0.966
12 2 1 0.904 0.03300 0.841 0.971
age.rec=13
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 644 0 1.000 0.00000 1.000 1.000
4 282 22 0.954 0.00981 0.935 0.974
8 57 4 0.922 0.02042 0.883 0.963
12 4 2 0.872 0.04013 0.796 0.954
age.rec=14
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 685 0 1.000 0.00000 1.000 1.000
4 303 15 0.971 0.00753 0.957 0.986
8 59 4 0.945 0.01537 0.916 0.976
12 2 1 0.909 0.03860 0.837 0.988
age.rec=15
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 874 1 0.999 0.00114 0.997 1.000
4 336 36 0.945 0.00910 0.927 0.963
8 66 6 0.918 0.01432 0.890 0.946
12 3 0 0.918 0.01432 0.890 0.946
age.rec=16
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 935 0 1.000 0.0000 1.000 1.000
4 375 29 0.956 0.0082 0.941 0.973
8 86 8 0.924 0.0145 0.896 0.953
12 4 0 0.924 0.0145 0.896 0.953
age.rec=17
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 1073 0 1.000 0.00000 1.000 1.000
4 410 28 0.961 0.00753 0.946 0.976
8 90 16 0.889 0.02020 0.850 0.929
12 1 2 0.854 0.03175 0.794 0.918
age.rec=18
time n.risk n.event survival std.err lower 95% CI upper 95% CI
0 1037 0 1.000 0.00000 1.000 1.000
4 395 32 0.955 0.00802 0.940 0.971
8 104 6 0.931 0.01309 0.906 0.957
12 7 2 0.905 0.02210 0.863 0.949
cox.age.rec.groupCall:
coxph(formula = Surv(follow.up, death) ~ age.rec.group, data = dat.age.rec.group)
coef exp(coef) se(coef) z p
age.rec.group2-5 -0.5947 0.5517 0.1767 -3.366 0.000764
age.rec.group6-10 -1.0578 0.3472 0.1776 -5.956 2.59e-09
age.rec.group11-18 -1.0192 0.3609 0.1513 -6.736 1.63e-11
Likelihood ratio test=44.93 on 3 df, p=9.559e-10
n= 9766, number of events= 464
(9 observations deleted due to missingness)
eme.age.rec.group <- emmeans(cox.age.rec.group, pairwise ~ age.rec.group,
type = "response")
eme.age.rec.group$emmeans
age.rec.group response SE df asymp.LCL asymp.UCL
0-1 1.000 0.0000 Inf 1.000 1.000
2-5 0.552 0.0975 Inf 0.390 0.780
6-10 0.347 0.0617 Inf 0.245 0.492
11-18 0.361 0.0546 Inf 0.268 0.485
Confidence level used: 0.95
Intervals are back-transformed from the log scale
$contrasts
contrast ratio SE df null z.ratio p.value
(0-1) / (2-5) 1.813 0.320 Inf 1 3.366 0.0043
(0-1) / (6-10) 2.880 0.511 Inf 1 5.956 <.0001
(0-1) / (11-18) 2.771 0.419 Inf 1 6.736 <.0001
(2-5) / (6-10) 1.589 0.251 Inf 1 2.928 0.0179
(2-5) / (11-18) 1.529 0.196 Inf 1 3.314 0.0051
(6-10) / (11-18) 0.962 0.124 Inf 1 -0.298 0.9908
P value adjustment: tukey method for comparing a family of 4 estimates
Tests are performed on the log scale


old.vars <- c()
test.new.var(old.vars, "tx.type", 1)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.64466 1.90534 0.09558 6.745 1.53e-11
Likelihood ratio test=47.1 on 1 df, p=6.742e-12
n= 9775, number of events= 465
Wald df p
1 45.49594 1 1.529554e-11
test.new.var(old.vars, "age.rec", 1)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
age.rec -0.042545 0.958348 0.008434 -5.045 4.54e-07
Likelihood ratio test=24.8 on 1 df, p=6.362e-07
n= 9766, number of events= 464
(9 observations deleted due to missingness)
Wald df p
1 25.44856 1 4.543371e-07
test.new.var(old.vars, "age.donor", 1)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
age.donor -0.021738 0.978497 0.003467 -6.269 3.62e-10
Likelihood ratio test=38.96 on 1 df, p=4.319e-10
n= 9662, number of events= 464
(113 observations deleted due to missingness)
Wald df p
1 39.30567 1 3.62387e-10
test.new.var(old.vars, "year", 1)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
year -0.03667 0.96399 0.01550 -2.366 0.018
Likelihood ratio test=5.62 on 1 df, p=0.0178
n= 9775, number of events= 465
Wald df p
1 5.595603 1 0.01800561
test.new.var(old.vars, "hla.match", 1)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
hla.match1 -0.07016 0.93225 0.17301 -0.405 0.6851
hla.match2 -0.36381 0.69503 0.17922 -2.030 0.0424
hla.match3 -0.76176 0.46684 0.16442 -4.633 3.60e-06
hla.match4 -0.89933 0.40684 0.20835 -4.317 1.59e-05
hla.match5 -0.59727 0.55031 0.28740 -2.078 0.0377
hla.match6 -0.66377 0.51491 0.31171 -2.129 0.0332
Likelihood ratio test=47.36 on 6 df, p=1.584e-08
n= 9541, number of events= 451
(234 observations deleted due to missingness)
Wald df p
1 0.1644258 1 0.685114
test.new.var(old.vars, "sex", 1)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
sexMale -0.08422 0.91923 0.09374 -0.898 0.369
Likelihood ratio test=0.8 on 1 df, p=0.37
n= 9775, number of events= 465
Wald df p
1 0.8072063 1 0.3689475
test.new.var(old.vars, "cold.isc", 1)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
cold.isc 0.019094 1.019278 0.004052 4.712 2.45e-06
Likelihood ratio test=20.88 on 1 df, p=4.888e-06
n= 7525, number of events= 357
(2250 observations deleted due to missingness)
Wald df p
1 22.20574 1 2.449402e-06
tx.type + ?old.vars <- c("tx.type")
test.new.var(old.vars, "age.rec", 2)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.693775 2.001255 0.096157 7.215 5.39e-13
age.rec -0.049081 0.952104 0.008536 -5.750 8.92e-09
Likelihood ratio test=78.72 on 2 df, p=< 2.2e-16
n= 9766, number of events= 464
(9 observations deleted due to missingness)
Wald df p
1 33.06396 1 8.917646e-09
test.new.var(old.vars, "age.donor", 2)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.478191 1.613154 0.106660 4.483 7.35e-06
age.donor -0.013523 0.986568 0.003745 -3.611 0.000305
Likelihood ratio test=59.05 on 2 df, p=1.506e-13
n= 9662, number of events= 464
(113 observations deleted due to missingness)
Wald df p
1 13.0412 1 0.0003047131
test.new.var(old.vars, "year", 2)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.63806 1.89281 0.09563 6.672 2.52e-11
year -0.03310 0.96744 0.01548 -2.138 0.0325
Likelihood ratio test=51.69 on 2 df, p=5.967e-12
n= 9775, number of events= 465
Wald df p
1 4.573044 1 0.0324788
test.new.var(old.vars, "hla.match", 2:7)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.39047 1.47768 0.12688 3.078 0.00209
hla.match1 -0.08836 0.91543 0.17308 -0.510 0.60970
hla.match2 -0.36329 0.69539 0.17919 -2.027 0.04263
hla.match3 -0.50800 0.60170 0.18299 -2.776 0.00550
hla.match4 -0.65400 0.51996 0.22221 -2.943 0.00325
hla.match5 -0.39435 0.67412 0.29410 -1.341 0.17997
hla.match6 -0.51481 0.59761 0.31489 -1.635 0.10208
Likelihood ratio test=56.78 on 7 df, p=6.605e-10
n= 9541, number of events= 451
(234 observations deleted due to missingness)
Wald df p
1 14.7018 6 0.02270728
test.new.var(old.vars, "sex", 2)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.64499 1.90597 0.09558 6.748 1.5e-11
sexMale -0.08657 0.91707 0.09374 -0.924 0.356
Likelihood ratio test=47.95 on 2 df, p=3.87e-11
n= 9775, number of events= 465
Wald df p
1 0.8528929 1 0.3557352
test.new.var(old.vars, "cold.isc", 2)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.477550 1.612119 0.171044 2.792 0.00524
cold.isc 0.004924 1.004937 0.006728 0.732 0.46420
Likelihood ratio test=28.72 on 2 df, p=5.811e-07
n= 7525, number of events= 357
(2250 observations deleted due to missingness)
Wald df p
1 0.5357515 1 0.4641988
age.rec has the smallest \(p\)-value
tx.type + age.rec + ?old.vars <- c("tx.type", "age.rec")
test.new.var(old.vars, "age.donor", 3)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.571325 1.770611 0.107377 5.321 1.03e-07
age.rec -0.044085 0.956872 0.008718 -5.057 4.26e-07
age.donor -0.009688 0.990359 0.003797 -2.551 0.0107
Likelihood ratio test=83.3 on 3 df, p=< 2.2e-16
n= 9655, number of events= 463
(120 observations deleted due to missingness)
Wald df p
1 6.508773 1 0.01073435
test.new.var(old.vars, "year", 3)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.687661 1.989059 0.096215 7.147 8.86e-13
age.rec -0.049029 0.952153 0.008537 -5.743 9.30e-09
year -0.033478 0.967076 0.015475 -2.163 0.0305
Likelihood ratio test=83.42 on 3 df, p=< 2.2e-16
n= 9766, number of events= 464
(9 observations deleted due to missingness)
Wald df p
1 4.680122 1 0.03051359
test.new.var(old.vars, "hla.match", 3:8)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.439788 1.552378 0.129107 3.406 0.000658
age.rec -0.048395 0.952758 0.008687 -5.571 2.53e-08
hla.match1 -0.065986 0.936144 0.173137 -0.381 0.703116
hla.match2 -0.339580 0.712069 0.179741 -1.889 0.058856
hla.match3 -0.479802 0.618906 0.184469 -2.601 0.009295
hla.match4 -0.617490 0.539296 0.223835 -2.759 0.005803
hla.match5 -0.362744 0.695764 0.294632 -1.231 0.218257
hla.match6 -0.410614 0.663243 0.315392 -1.302 0.192946
Likelihood ratio test=86.59 on 8 df, p=2.288e-15
n= 9535, number of events= 450
(240 observations deleted due to missingness)
Wald df p
1 13.1233 6 0.04111916
test.new.var(old.vars, "sex", 3)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.695122 2.003953 0.096164 7.229 4.88e-13
age.rec -0.050004 0.951226 0.008569 -5.835 5.37e-09
sexMale -0.130416 0.877730 0.094113 -1.386 0.166
Likelihood ratio test=80.63 on 3 df, p=< 2.2e-16
n= 9766, number of events= 464
(9 observations deleted due to missingness)
Wald df p
1 1.920263 1 0.1658277
test.new.var(old.vars, "cold.isc", 3)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.489852 1.632075 0.170731 2.869 0.00412
age.rec -0.025545 0.974779 0.010019 -2.550 0.01078
cold.isc 0.005637 1.005653 0.006709 0.840 0.40085
Likelihood ratio test=35.04 on 3 df, p=1.194e-07
n= 7519, number of events= 357
(2256 observations deleted due to missingness)
Wald df p
1 0.705761 1 0.4008547
age.donor has the smallest \(p\)-value
tx.type + age.rec + age.donor + ?old.vars <- c("tx.type", "age.rec", "age.donor")
test.new.var(old.vars, "year", 4)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.571096 1.770207 0.107278 5.324 1.02e-07
age.rec -0.044243 0.956721 0.008718 -5.075 3.87e-07
age.donor -0.009313 0.990730 0.003793 -2.456 0.0141
year -0.031516 0.968975 0.015475 -2.037 0.0417
Likelihood ratio test=87.47 on 4 df, p=< 2.2e-16
n= 9655, number of events= 463
(120 observations deleted due to missingness)
Wald df p
1 4.14746 1 0.04169701
test.new.var(old.vars, "hla.match", 4:9)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.343744 1.410218 0.135594 2.535 0.01124
age.rec -0.044106 0.956853 0.008869 -4.973 6.6e-07
age.donor -0.008401 0.991634 0.003842 -2.187 0.02878
hla.match1 -0.060302 0.941480 0.173155 -0.348 0.72765
hla.match2 -0.319994 0.726153 0.179955 -1.778 0.07537
hla.match3 -0.457366 0.632949 0.185204 -2.470 0.01353
hla.match4 -0.580080 0.559853 0.224649 -2.582 0.00982
hla.match5 -0.327698 0.720580 0.295711 -1.108 0.26779
hla.match6 -0.399931 0.670366 0.316127 -1.265 0.20584
Likelihood ratio test=89.74 on 9 df, p=1.834e-15
n= 9433, number of events= 449
(342 observations deleted due to missingness)
Wald df p
1 11.68364 6 0.06941019
test.new.var(old.vars, "sex", 4)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.574554 1.776338 0.107419 5.349 8.86e-08
age.rec -0.045101 0.955901 0.008757 -5.150 2.60e-07
age.donor -0.009501 0.990544 0.003799 -2.501 0.0124
sexMale -0.127413 0.880370 0.094265 -1.352 0.1765
Likelihood ratio test=85.12 on 4 df, p=< 2.2e-16
n= 9655, number of events= 463
(120 observations deleted due to missingness)
Wald df p
1 1.826933 1 0.1764903
test.new.var(old.vars, "cold.isc", 4)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.475677 1.609104 0.178023 2.672 0.00754
age.rec -0.023171 0.977095 0.010194 -2.273 0.02303
age.donor -0.004841 0.995171 0.004205 -1.151 0.24970
cold.isc 0.003780 1.003787 0.006755 0.559 0.57583
Likelihood ratio test=36.13 on 4 df, p=2.722e-07
n= 7480, number of events= 356
(2295 observations deleted due to missingness)
Wald df p
1 0.3130214 1 0.575832
year has the smallest \(p\)-value
tx.type + age.rec + age.donor + year + ?old.vars <- c("tx.type", "age.rec", "age.donor", "year")
test.new.var(old.vars, "hla.match", 5:10)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.330259 1.391328 0.135752 2.433 0.01498
age.rec -0.044176 0.956785 0.008869 -4.981 6.32e-07
age.donor -0.007886 0.992145 0.003836 -2.056 0.03978
year -0.034415 0.966170 0.015880 -2.167 0.03022
hla.match1 -0.087933 0.915822 0.173602 -0.507 0.61249
hla.match2 -0.352526 0.702910 0.180569 -1.952 0.05090
hla.match3 -0.504964 0.603527 0.186678 -2.705 0.00683
hla.match4 -0.625722 0.534875 0.225828 -2.771 0.00559
hla.match5 -0.364687 0.694414 0.296524 -1.230 0.21874
hla.match6 -0.456586 0.633442 0.317208 -1.439 0.15004
Likelihood ratio test=94.45 on 10 df, p=6.975e-16
n= 9433, number of events= 449
(342 observations deleted due to missingness)
Wald df p
1 13.08326 6 0.0417326
test.new.var(old.vars, "sex", 5)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.574624 1.776462 0.107327 5.354 8.60e-08
age.rec -0.045294 0.955716 0.008759 -5.171 2.33e-07
age.donor -0.009119 0.990922 0.003795 -2.403 0.0163
year -0.031699 0.968798 0.015475 -2.048 0.0405
sexMale -0.129147 0.878844 0.094284 -1.370 0.1708
Likelihood ratio test=89.33 on 5 df, p=< 2.2e-16
n= 9655, number of events= 463
(120 observations deleted due to missingness)
Wald df p
1 1.876286 1 0.1707569
test.new.var(old.vars, "cold.isc", 5)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.509289 1.664108 0.179269 2.841 0.0045
age.rec -0.023037 0.977226 0.010191 -2.261 0.0238
age.donor -0.004381 0.995629 0.004202 -1.043 0.2971
year -0.036400 0.964254 0.018995 -1.916 0.0553
cold.isc 0.002027 1.002029 0.006812 0.298 0.7660
Likelihood ratio test=39.84 on 5 df, p=1.608e-07
n= 7480, number of events= 356
(2295 observations deleted due to missingness)
Wald df p
1 0.0885476 1 0.7660318
hla.match has the smallest \(p\)-value
tx.type + age.rec + age.donor + year + hla.match + ?old.vars <- c("tx.type", "age.rec", "age.donor", "year", "hla.match")
test.new.var(old.vars, "sex", 11)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.334671 1.397480 0.135776 2.465 0.01371
age.rec -0.044917 0.956077 0.008908 -5.043 4.59e-07
age.donor -0.007753 0.992277 0.003838 -2.020 0.04341
year -0.034523 0.966066 0.015880 -2.174 0.02970
hla.match1 -0.088750 0.915074 0.173601 -0.511 0.60919
hla.match2 -0.350775 0.704142 0.180587 -1.942 0.05209
hla.match3 -0.501788 0.605447 0.186640 -2.689 0.00718
hla.match4 -0.624023 0.535784 0.225726 -2.765 0.00570
hla.match5 -0.361475 0.696648 0.296530 -1.219 0.22284
hla.match6 -0.450811 0.637111 0.317311 -1.421 0.15540
sexMale -0.092818 0.911359 0.095967 -0.967 0.33345
Likelihood ratio test=95.39 on 11 df, p=1.457e-15
n= 9433, number of events= 449
(342 observations deleted due to missingness)
Wald df p
1 0.9354639 1 0.3334471
test.new.var(old.vars, "cold.isc", 11)Call:
coxph(formula = new.surv, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.310337 1.363884 0.201059 1.544 0.1227
age.rec -0.021521 0.978709 0.010287 -2.092 0.0364
age.donor -0.002701 0.997303 0.004215 -0.641 0.5216
year -0.038176 0.962544 0.019265 -1.982 0.0475
hla.match1 0.070810 1.073377 0.218390 0.324 0.7458
hla.match2 -0.100219 0.904639 0.221242 -0.453 0.6506
hla.match3 -0.285575 0.751582 0.227967 -1.253 0.2103
hla.match4 -0.314582 0.730094 0.262605 -1.198 0.2309
hla.match5 -0.132791 0.875648 0.351300 -0.378 0.7054
hla.match6 -0.279719 0.755996 0.359291 -0.779 0.4363
cold.isc 0.002472 1.002475 0.006832 0.362 0.7175
Likelihood ratio test=40.14 on 11 df, p=3.39e-05
n= 7347, number of events= 351
(2428 observations deleted due to missingness)
Wald df p
1 0.1308801 1 0.7175212
Neither has \(p\)-value less than 0.05. Stop.
Call:
coxph(formula = surv.full, data = dat, method = "breslow")
n= 9433, number of events= 449
(342 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
tx.typeLiving 0.330259 1.391328 0.135752 2.433 0.01498 *
age.rec -0.044176 0.956785 0.008869 -4.981 6.32e-07 ***
age.donor -0.007886 0.992145 0.003836 -2.056 0.03978 *
year -0.034415 0.966170 0.015880 -2.167 0.03022 *
hla.match1 -0.087933 0.915822 0.173602 -0.507 0.61249
hla.match2 -0.352526 0.702910 0.180569 -1.952 0.05090 .
hla.match3 -0.504964 0.603527 0.186678 -2.705 0.00683 **
hla.match4 -0.625722 0.534875 0.225828 -2.771 0.00559 **
hla.match5 -0.364687 0.694414 0.296524 -1.230 0.21874
hla.match6 -0.456586 0.633442 0.317208 -1.439 0.15004
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
exp(coef) exp(-coef) lower .95 upper .95
tx.typeLiving 1.3913 0.7187 1.0663 1.8154
age.rec 0.9568 1.0452 0.9403 0.9736
age.donor 0.9921 1.0079 0.9847 0.9996
year 0.9662 1.0350 0.9366 0.9967
hla.match1 0.9158 1.0919 0.6517 1.2870
hla.match2 0.7029 1.4227 0.4934 1.0014
hla.match3 0.6035 1.6569 0.4186 0.8702
hla.match4 0.5349 1.8696 0.3436 0.8327
hla.match5 0.6944 1.4401 0.3883 1.2417
hla.match6 0.6334 1.5787 0.3402 1.1795
Concordance= 0.644 (se = 0.015 )
Likelihood ratio test= 94.45 on 10 df, p=7e-16
Wald test = 96.48 on 10 df, p=3e-16
Score (logrank) test = 99.11 on 10 df, p=<2e-16
[1] 1

Call:
coxph(formula = surv.full, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.330259 1.391328 0.135752 2.433 0.01498
age.rec -0.044176 0.956785 0.008869 -4.981 6.32e-07
age.donor -0.007886 0.992145 0.003836 -2.056 0.03978
year -0.034415 0.966170 0.015880 -2.167 0.03022
hla.match1 -0.087933 0.915822 0.173602 -0.507 0.61249
hla.match2 -0.352526 0.702910 0.180569 -1.952 0.05090
hla.match3 -0.504964 0.603527 0.186678 -2.705 0.00683
hla.match4 -0.625722 0.534875 0.225828 -2.771 0.00559
hla.match5 -0.364687 0.694414 0.296524 -1.230 0.21874
hla.match6 -0.456586 0.633442 0.317208 -1.439 0.15004
Likelihood ratio test=94.45 on 10 df, p=6.975e-16
n= 9433, number of events= 449
(342 observations deleted due to missingness)
chisq df p
tx.type 2.46 1 0.11651
age.rec 36.40 1 1.6e-09
age.donor 10.84 1 0.00099
year 4.00 1 0.04537
hla.match 12.87 6 0.04507
GLOBAL 56.91 10 1.4e-08





year?


Probabily want to omit it
yearcox.full.1Call:
coxph(formula = surv.full.1, data = dat, method = "breslow")
coef exp(coef) se(coef) z p
tx.typeLiving 0.343744 1.410218 0.135594 2.535 0.01124
age.rec -0.044106 0.956853 0.008869 -4.973 6.6e-07
hla.match1 -0.060302 0.941480 0.173155 -0.348 0.72765
hla.match2 -0.319994 0.726153 0.179955 -1.778 0.07537
hla.match3 -0.457366 0.632949 0.185204 -2.470 0.01353
hla.match4 -0.580080 0.559853 0.224649 -2.582 0.00982
hla.match5 -0.327698 0.720580 0.295711 -1.108 0.26779
hla.match6 -0.399931 0.670366 0.316127 -1.265 0.20584
age.donor -0.008401 0.991634 0.003842 -2.187 0.02878
Likelihood ratio test=89.74 on 9 df, p=1.834e-15
n= 9433, number of events= 449
(342 observations deleted due to missingness)

# A tibble: 19 × 8
term estimate std.error statistic p.value conf.low conf.high model
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <chr>
1 Living donor 1.39 0.136 2.43 1.50e-2 1.07 1.82 Full…
2 Recipient age 0.957 0.00887 -4.98 6.32e-7 0.940 0.974 Full…
3 Donor age 0.992 0.00384 -2.06 3.98e-2 0.985 1.000 Full…
4 Transplant year 0.966 0.0159 -2.17 3.02e-2 0.937 0.997 Full…
5 hla.match1 0.916 0.174 -0.507 6.12e-1 0.652 1.29 Full…
6 hla.match2 0.703 0.181 -1.95 5.09e-2 0.493 1.00 Full…
7 hla.match3 0.604 0.187 -2.71 6.83e-3 0.419 0.870 Full…
8 hla.match4 0.535 0.226 -2.77 5.59e-3 0.344 0.833 Full…
9 hla.match5 0.694 0.297 -1.23 2.19e-1 0.388 1.24 Full…
10 hla.match6 0.633 0.317 -1.44 1.50e-1 0.340 1.18 Full…
11 Living donor 1.41 0.136 2.54 1.12e-2 1.08 1.84 Mode…
12 Recipient age 0.957 0.00887 -4.97 6.60e-7 0.940 0.974 Mode…
13 hla.match1 0.941 0.173 -0.348 7.28e-1 0.671 1.32 Mode…
14 hla.match2 0.726 0.180 -1.78 7.54e-2 0.510 1.03 Mode…
15 hla.match3 0.633 0.185 -2.47 1.35e-2 0.440 0.910 Mode…
16 hla.match4 0.560 0.225 -2.58 9.82e-3 0.360 0.870 Mode…
17 hla.match5 0.721 0.296 -1.11 2.68e-1 0.404 1.29 Mode…
18 hla.match6 0.670 0.316 -1.27 2.06e-1 0.361 1.25 Mode…
19 Donor age 0.992 0.00384 -2.19 2.88e-2 0.984 0.999 Mode…

TODO: write a more generic function (UPDATE: FAILED)
dat |>
group_by(death) |>
summarise(
n = n(),
percentage = n() / nrow(dat) * 100
)# A tibble: 2 × 3
death n percentage
<int> <int> <dbl>
1 0 9310 95.2
2 1 465 4.76
Most of the patients (95.24%) were censored.


hla.match age.donor age.rec cold.isc death year sex tx.type follow.up
1 2 25 15 6 0 2002 Female Living 0
2 1 42 10 11 1 1999 Female Living 0
3 1 9 14 8 0 2002 Male Living 0
4 0 35 12 26 0 2002 Male Living 0
5 2 17 12 28 1 1997 Male Living 0
6 3 44 13 1 0 2002 Male Cadaveric 0
7 1 34 12 1 0 2002 Male Cadaveric 0
8 4 38 11 2 0 2002 Female Cadaveric 0
9 0 23 10 6 0 2002 Female Living 0
10 3 26 1 1 0 2002 Male Cadaveric 0
11 <NA> 42 18 NA 0 2002 Male Cadaveric 0
12 4 39 9 NA 0 2002 Female Cadaveric 0
13 3 34 13 NA 0 2002 Male Cadaveric 0
14 3 NA 14 2 0 2002 Female Cadaveric 0
15 3 40 17 1 0 2002 Female Cadaveric 0
16 3 22 14 2 0 2002 Female Cadaveric 0
17 0 17 17 12 0 2002 Male Living 0
18 3 NA 7 NA 0 2002 Male Cadaveric 0
19 0 4 0 NA 1 2001 Female Living 0
20 4 NA NA 1 0 2002 Female Cadaveric 0
21 3 42 18 1 0 2002 Male Cadaveric 0
22 1 19 15 21 1 1994 Male Living 0
23 3 44 10 NA 0 2002 Male Cadaveric 0
24 0 13 14 NA 0 2001 Male Living 0
25 1 NA 6 1 0 2002 Male Cadaveric 0
hla.match age.donor age.rec cold.isc death year sex tx.type follow.up
1 2 25 15 6 0 2002 Female Living 0
2 1 42 10 11 1 1999 Female Living 0
3 1 9 14 8 0 2002 Male Living 0
4 0 35 12 26 0 2002 Male Living 0
5 2 17 12 28 1 1997 Male Living 0
6 3 44 13 1 0 2002 Male Cadaveric 0
cox.age.rec <- coxph(Surv(follow.up, death) ~ age.rec, data = dat)
cox.age.rec |> summary()Call:
coxph(formula = Surv(follow.up, death) ~ age.rec, data = dat)
n= 9766, number of events= 464
(9 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
age.rec -0.042550 0.958342 0.008434 -5.045 4.53e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
exp(coef) exp(-coef) lower .95 upper .95
age.rec 0.9583 1.043 0.9426 0.9743
Concordance= 0.586 (se = 0.016 )
Likelihood ratio test= 24.81 on 1 df, p=6e-07
Wald test = 25.45 on 1 df, p=5e-07
Score (logrank) test = 25.75 on 1 df, p=4e-07
chisq df p
tx.type 2.46 1 0.11643
age.rec 36.41 1 1.6e-09
hla.match 12.88 6 0.04498
age.donor 10.85 1 0.00099
year 4.01 1 0.04535
GLOBAL 56.93 10 1.4e-08






hla.match
0 1 2 3 4 5 6 <NA>
784 1504 1553 3778 1278 365 279 234


TODO: change to percentage within each tx.type
Living donors have less hla.match then cadaveric donors
age.donormean(dat$age.donor, na.rm = TRUE)[1] 31.29952
median(dat$age.donor, na.rm = TRUE)[1] 33





There is age difference between different tx.type
age.recmean(dat$age.rec, na.rm = TRUE)[1] 11.64653
median(dat$age.rec, na.rm = TRUE)[1] 13





cold.iscmean(dat$cold.isc, na.rm = TRUE)[1] 10.85967
median(dat$cold.isc, na.rm = TRUE)[1] 7



tx.type
Cadaveric Living <NA>
5148 4627 0
dat$tx.type |> table()
Cadaveric Living
5148 4627

year
1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002
728 734 666 736 787 813 789 745 740 842 706 834 655





Call: survfit(formula = Surv(follow.up, death) ~ 1, data = dat)
time n.risk n.event survival std.err lower 95% CI upper 95% CI
4 4150 359 0.953 0.00252 0.948 0.958
8 1197 86 0.919 0.00449 0.910 0.928
12 48 20 0.888 0.00867 0.871 0.905

tx.type (M)
death Distribution (?)
skip overall, jump directly to tx.type
# A tibble: 7 × 5
fu.interval n.censored n.event n.at.risk hazard.rate
<dbl> <int> <int> <dbl> <dbl>
1 0.333 830 152 9775 0.0155
2 0.667 491 37 8793 0.00421
3 1 613 27 8265 0.00327
4 2 1164 62 7625 0.00813
5 3 1143 41 6399 0.00641
6 4 1053 40 5215 0.00767
7 5 919 31 4122 0.00752
tx.type (M)age (continuous) (L)age (categorical) (M)Call:
coxph(formula = Surv(follow.up, death) ~ hla.match + tx.type,
data = dat)
n= 9541, number of events= 451
(234 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
hla.match1 -0.08845 0.91535 0.17308 -0.511 0.60933
hla.match2 -0.36340 0.69531 0.17919 -2.028 0.04256 *
hla.match3 -0.50810 0.60164 0.18298 -2.777 0.00549 **
hla.match4 -0.65410 0.51991 0.22221 -2.944 0.00324 **
hla.match5 -0.39445 0.67405 0.29410 -1.341 0.17985
hla.match6 -0.51491 0.59755 0.31489 -1.635 0.10201
tx.typeLiving 0.39049 1.47771 0.12688 3.078 0.00209 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
exp(coef) exp(-coef) lower .95 upper .95
hla.match1 0.9153 1.0925 0.6520 1.2850
hla.match2 0.6953 1.4382 0.4894 0.9879
hla.match3 0.6016 1.6621 0.4203 0.8612
hla.match4 0.5199 1.9234 0.3363 0.8037
hla.match5 0.6740 1.4836 0.3787 1.1996
hla.match6 0.5976 1.6735 0.3224 1.1077
tx.typeLiving 1.4777 0.6767 1.1524 1.8949
Concordance= 0.613 (se = 0.014 )
Likelihood ratio test= 56.79 on 7 df, p=7e-10
Wald test = 57.08 on 7 df, p=6e-10
Score (logrank) test = 59.51 on 7 df, p=2e-10
Call:
coxph(formula = Surv(follow.up, death) ~ hla.match * tx.type,
data = dat)
n= 9541, number of events= 451
(234 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
hla.match1 0.8094 2.2467 0.8165 0.991 0.3215
hla.match2 1.1371 3.1176 0.7530 1.510 0.1311
hla.match3 0.4217 1.5245 0.7140 0.591 0.5548
hla.match4 0.1094 1.1156 0.7341 0.149 0.8816
hla.match5 0.4754 1.6087 0.7820 0.608 0.5432
hla.match6 0.5836 1.7925 0.8021 0.728 0.4669
tx.typeLiving 1.3801 3.9752 0.7218 1.912 0.0559 .
hla.match1:tx.typeLiving -0.9614 0.3823 0.8355 -1.151 0.2498
hla.match2:tx.typeLiving -1.6578 0.1905 0.7762 -2.136 0.0327 *
hla.match3:tx.typeLiving -1.0096 0.3644 0.7461 -1.353 0.1760
hla.match4:tx.typeLiving -0.5175 0.5960 0.7863 -0.658 0.5105
hla.match5:tx.typeLiving -0.8601 0.4231 0.8805 -0.977 0.3286
hla.match6:tx.typeLiving -1.3342 0.2634 0.9113 -1.464 0.1432
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
exp(coef) exp(-coef) lower .95 upper .95
hla.match1 2.2467 0.4451 0.45341 11.1322
hla.match2 3.1176 0.3208 0.71257 13.6400
hla.match3 1.5245 0.6559 0.37617 6.1787
hla.match4 1.1156 0.8964 0.26460 4.7032
hla.match5 1.6087 0.6216 0.34737 7.4498
hla.match6 1.7925 0.5579 0.37212 8.6342
tx.typeLiving 3.9752 0.2516 0.96600 16.3580
hla.match1:tx.typeLiving 0.3823 2.6155 0.07435 1.9662
hla.match2:tx.typeLiving 0.1905 5.2480 0.04162 0.8723
hla.match3:tx.typeLiving 0.3644 2.7444 0.08443 1.5726
hla.match4:tx.typeLiving 0.5960 1.6778 0.12763 2.7836
hla.match5:tx.typeLiving 0.4231 2.3635 0.07533 2.3763
hla.match6:tx.typeLiving 0.2634 3.7971 0.04414 1.5712
Concordance= 0.615 (se = 0.014 )
Likelihood ratio test= 66.78 on 13 df, p=3e-09
Wald test = 65.9 on 13 df, p=5e-09
Score (logrank) test = 69.92 on 13 df, p=8e-10
Analysis of Deviance Table
Cox model: response is Surv(follow.up, death)
Model 1: ~ hla.match + tx.type
Model 2: ~ hla.match * tx.type
loglik Chisq Df Pr(>|Chi|)
1 -3848.5
2 -3843.5 9.9891 6 0.1251
year or not?## Why Survival Analysis (L)
Motivation: study the distribution of time to event \(T\).
Example: time of death after kidney transplant.
| ID | Transplant | Death |
|---|---|---|
| 1 | 2000 | 2005 |
| 2 | 2000 | 2009 |
| 3 | 2001 | 2005 |
| 4 | 2003 | 2004 |
| 5 | 2004 | 2016 |

We then calculate time to death for each respondents.
With this, all we need is to fit a linear model t ~ X or log(t) ~ X
| ID | Transplant | Death | Time to death |
|---|---|---|---|
| 1 | 2000 | 2005 | 5 |
| 2 | 2000 | 2009 | 9 |
| 3 | 2001 | 2005 | 4 |
| 4 | 2003 | 2004 | 1 |
| 5 | 2004 | 2016 | 12 |

What if we do not know when exactly some respondents die?
Scenario 1: the study ends at the year 2008?
| ID | Transplant | Death | Time to death |
|---|---|---|---|
| 1 | 2000 | 2005 | 5 |
| 2 | 2000 | > 2008 | > 8 |
| 3 | 2001 | 2005 | 4 |
| 4 | 2003 | 2004 | 1 |
| 5 | 2004 | > 2008 | > 4 |


Right Censoring: only observe the event (death) if it occurs before a certain time (2008).
Scenario 2: respondent 3 move away; loss follow up
| ID | Transplant | Death | Time to death |
|---|---|---|---|
| 1 | 2000 | 2005 | 5 |
| 2 | 2000 | > 2008 | > 8 |
| 3 | 2001 | > 2005 | > 4 |
| 4 | 2003 | 2004 | 1 |
| 5 | 2004 | > 2008 | > 4 |


How many patients are right censored?
