Consideremos primero un ejemplo en el cual sólo tenemos fallas y no censuras, y el tiempo de supervivencia es:
\[ 10 \ \ 22\ \ 29\ \ 37\ \ 45\ \ 51\ \ 52\ \ 52\ \ 64\ \ 79 \] donde sólo hay una falla entre cada intervalo. Calculamos el estimador de Kaplan-Meier para la función de supervivencia como sigue:
Y continuamos así sucesivamente. En R implementamos el análisis anterior como sigue:
# Funcion de supervivencia: Kaplan-Meier
# Cargamos la librería necesaria
library(survival)
# Definimos el tiempo de supervivencia
tiempo = c(10,22,29,37,45,51,52,52,64,79)
Luego, utilizaremos una función indicadora para identificar las censuras y las fallas:
\[ \mathbb{I}(w)=\left\{\begin{array}&1 \ \ \textrm{si w es falla}\\0 \ \ \textrm{si w es censura}\end{array}\right. \]
por lo cual tenemos que
# Definimos un vector de censuras y fallas.
# En este caso es sólo un vector de fallas
censura = c(1,1,1,1,1,1,1,1,1,1)
Después utilizamos la función Surv()
Surv(tiempo,censura)
## [1] 10 22 29 37 45 51 52 52 64 79
para juntar el tiempo de supervivencia con las fallas correspondientes a cad tiempo (que en este caso es una falla por tiempo). Proseguimos realizando el ajuste del estimador Kaplan-Meier:
ajuste <- survfit(Surv(tiempo,censura)~1, type = "kaplan-meier", conf.type="none")
summary(ajuste)
## Call: survfit(formula = Surv(tiempo, censura) ~ 1, type = "kaplan-meier",
## conf.type = "none")
##
## time n.risk n.event survival std.err
## 10 10 1 0.9 0.0949
## 22 9 1 0.8 0.1265
## 29 8 1 0.7 0.1449
## 37 7 1 0.6 0.1549
## 45 6 1 0.5 0.1581
## 51 5 1 0.4 0.1549
## 52 4 2 0.2 0.1265
## 64 2 1 0.1 0.0949
## 79 1 1 0.0 NaN
ajuste$surv
## [1] 0.9 0.8 0.7 0.6 0.5 0.4 0.2 0.1 0.0
y vemos que se obtiene los resultados (algunos) que ya habíamos obtenido antes.
Ahora continuamos con un ejemplo incluyendo censuras:
\[ 10 \ \ 22\ \ 25^{+} \ \ 29\ \ 37\ \ 45^{+}\ \ 45 \ \ 51\ \ 52\ \ 52\ \ 64\ \ 79 \] donde el superíndice + indica que en dicho tiempo de supervivencia se presentó una censura. Para los casos en que se presenta censura, la función de supervivencia se mantiene igual. Por ejemplo, en el tiempo \(t=22\) tenemos que \(\hat{S}(t)=0.833\) y en \(t=25^{+}\) se tiene igual que \(\hat{S}(t)=0.833\). En R tenemos que:
# Funcion de supervivencia: Kaplan-Meier
tiempo = c(10,22,25,29,37,45,45,51,52,52,64,79)
censura = c(1,1,0,1,1,1,0,1,1,1,1,1)
Surv(tiempo,censura)
## [1] 10 22 25+ 29 37 45 45+ 51 52 52 64 79
vemos que en automático R indica que se presentó una censura en el tiempo \(t=25\) y \(t=45\). Luego
ajuste <- survfit(Surv(tiempo,censura)~1, type = "kaplan-meier", conf.type="none")
summary(ajuste)
## Call: survfit(formula = Surv(tiempo, censura) ~ 1, type = "kaplan-meier",
## conf.type = "none")
##
## time n.risk n.event survival std.err
## 10 12 1 0.917 0.0798
## 22 11 1 0.833 0.1076
## 29 9 1 0.741 0.1295
## 37 8 1 0.648 0.1426
## 45 7 1 0.556 0.1493
## 51 5 1 0.444 0.1554
## 52 4 2 0.222 0.1356
## 64 2 1 0.111 0.1038
## 79 1 1 0.000 NaN
ajuste$surv
## [1] 0.9166667 0.8333333 0.8333333 0.7407407 0.6481481 0.5555556 0.4444444
## [8] 0.2222222 0.1111111 0.0000000
y notamos que se omiten los tiempos donde ocurrieron censuras.
Continuaremos con el ejemplo de la clase pasada
uis <- read.csv("uis.csv")
head(uis)
## id age beck hercoc ivhx ndrugtx race treat site time censor
## 1 1 39 9.00 4 3 1 0 1 0 188 1
## 2 2 33 34.00 4 2 8 0 1 0 26 1
## 3 3 33 10.00 2 3 3 0 1 0 207 1
## 4 4 32 20.00 4 3 1 0 0 0 144 1
## 5 5 24 5.00 2 1 5 1 1 0 551 0
## 6 6 30 32.55 3 3 1 0 1 0 32 1
y comenzamos por realizar el ajuste para la función de supervivencia mostrando los respectivos intervalos de confianza:
# Funcion de supervivencia: Kaplan-Meier
ajuste <- survfit(Surv(time, censor)~1, type = "kaplan-meier", conf.type="log-log", conf.int=0.95, data=uis)
summary(ajuste)
## Call: survfit(formula = Surv(time, censor) ~ 1, data = uis, type = "kaplan-meier",
## conf.type = "log-log", conf.int = 0.95)
##
## time n.risk n.event survival std.err lower 95% CI upper 95% CI
## 4 575 2 0.997 0.00246 0.986 0.999
## 6 573 2 0.993 0.00347 0.982 0.997
## 7 571 4 0.986 0.00488 0.972 0.993
## 8 567 1 0.984 0.00518 0.970 0.992
## 9 566 1 0.983 0.00545 0.968 0.991
## 10 565 3 0.977 0.00620 0.961 0.987
## 11 562 2 0.974 0.00665 0.957 0.984
## 12 560 2 0.970 0.00706 0.953 0.982
## 14 558 4 0.963 0.00782 0.945 0.976
## 15 554 2 0.960 0.00817 0.940 0.973
## 18 552 1 0.958 0.00834 0.938 0.972
## 19 551 2 0.955 0.00867 0.934 0.969
## 20 549 1 0.953 0.00882 0.932 0.968
## 21 548 2 0.950 0.00913 0.928 0.965
## 22 546 2 0.946 0.00942 0.924 0.962
## 23 544 5 0.937 0.01010 0.914 0.954
## 24 539 2 0.934 0.01036 0.910 0.951
## 25 537 1 0.932 0.01049 0.908 0.950
## 26 536 4 0.925 0.01097 0.900 0.944
## 28 532 1 0.923 0.01109 0.899 0.942
## 29 531 1 0.922 0.01120 0.897 0.941
## 30 530 2 0.918 0.01143 0.893 0.938
## 31 528 2 0.915 0.01164 0.889 0.935
## 32 526 2 0.911 0.01186 0.885 0.932
## 33 524 1 0.910 0.01196 0.883 0.930
## 34 523 1 0.908 0.01206 0.881 0.929
## 35 522 3 0.903 0.01236 0.875 0.924
## 36 519 3 0.897 0.01265 0.870 0.920
## 37 516 2 0.894 0.01284 0.866 0.916
## 38 514 2 0.890 0.01303 0.862 0.913
## 40 512 1 0.889 0.01312 0.860 0.912
## 43 511 1 0.887 0.01321 0.858 0.910
## 44 510 4 0.880 0.01355 0.851 0.904
## 45 506 3 0.875 0.01380 0.845 0.899
## 46 503 3 0.870 0.01404 0.839 0.895
## 47 500 3 0.864 0.01428 0.834 0.890
## 48 497 1 0.863 0.01436 0.832 0.888
## 50 496 1 0.861 0.01443 0.830 0.887
## 51 495 4 0.854 0.01473 0.822 0.880
## 52 491 1 0.852 0.01480 0.820 0.879
## 53 490 2 0.849 0.01494 0.817 0.876
## 54 488 3 0.843 0.01515 0.811 0.871
## 55 485 1 0.842 0.01522 0.809 0.869
## 56 484 3 0.837 0.01542 0.804 0.864
## 57 481 3 0.831 0.01562 0.798 0.860
## 58 478 2 0.828 0.01574 0.794 0.856
## 59 476 2 0.824 0.01587 0.791 0.853
## 60 474 1 0.823 0.01593 0.789 0.851
## 61 473 1 0.821 0.01599 0.787 0.850
## 62 472 1 0.819 0.01605 0.785 0.848
## 65 471 4 0.812 0.01629 0.778 0.842
## 67 467 1 0.810 0.01635 0.776 0.840
## 68 466 2 0.807 0.01646 0.772 0.837
## 69 464 2 0.803 0.01657 0.769 0.834
## 70 462 2 0.800 0.01668 0.765 0.830
## 71 460 2 0.797 0.01679 0.761 0.827
## 72 458 1 0.795 0.01684 0.759 0.826
## 73 457 2 0.791 0.01695 0.756 0.822
## 74 455 3 0.786 0.01710 0.750 0.817
## 75 452 1 0.784 0.01715 0.748 0.816
## 76 451 2 0.781 0.01725 0.745 0.813
## 78 449 3 0.776 0.01740 0.739 0.808
## 79 446 4 0.769 0.01758 0.732 0.801
## 80 442 2 0.765 0.01768 0.728 0.798
## 81 440 4 0.758 0.01785 0.721 0.791
## 83 436 2 0.755 0.01794 0.717 0.788
## 84 434 3 0.750 0.01807 0.712 0.783
## 85 431 2 0.746 0.01815 0.708 0.780
## 86 429 3 0.741 0.01827 0.703 0.775
## 87 426 6 0.730 0.01850 0.692 0.765
## 89 420 2 0.727 0.01858 0.689 0.761
## 90 418 4 0.720 0.01872 0.681 0.755
## 91 414 2 0.717 0.01879 0.678 0.751
## 92 412 3 0.711 0.01890 0.672 0.746
## 93 409 1 0.710 0.01893 0.671 0.745
## 94 408 3 0.704 0.01903 0.665 0.740
## 95 405 2 0.701 0.01909 0.662 0.736
## 96 403 2 0.697 0.01916 0.658 0.733
## 97 401 1 0.696 0.01919 0.656 0.731
## 98 400 2 0.692 0.01925 0.653 0.728
## 99 398 3 0.687 0.01934 0.647 0.723
## 100 395 2 0.683 0.01940 0.644 0.720
## 101 393 1 0.682 0.01943 0.642 0.718
## 102 392 4 0.675 0.01954 0.635 0.711
## 103 388 2 0.671 0.01959 0.631 0.708
## 104 386 2 0.668 0.01964 0.628 0.705
## 105 384 2 0.664 0.01969 0.624 0.701
## 106 382 5 0.656 0.01982 0.615 0.693
## 107 377 1 0.654 0.01984 0.613 0.691
## 110 376 2 0.650 0.01989 0.610 0.688
## 111 374 1 0.649 0.01991 0.608 0.686
## 113 373 1 0.647 0.01993 0.606 0.684
## 115 372 5 0.638 0.02004 0.598 0.676
## 116 367 2 0.635 0.02008 0.594 0.673
## 118 365 1 0.633 0.02010 0.592 0.671
## 119 364 4 0.626 0.02018 0.585 0.664
## 120 360 3 0.621 0.02023 0.580 0.659
## 121 357 3 0.616 0.02029 0.575 0.654
## 122 354 4 0.609 0.02035 0.568 0.647
## 123 350 3 0.603 0.02040 0.562 0.642
## 124 347 2 0.600 0.02043 0.559 0.639
## 126 345 1 0.598 0.02044 0.557 0.637
## 127 344 1 0.597 0.02046 0.555 0.635
## 129 343 1 0.595 0.02047 0.553 0.634
## 130 342 2 0.591 0.02050 0.550 0.630
## 131 340 1 0.590 0.02051 0.548 0.629
## 132 339 1 0.588 0.02053 0.546 0.627
## 133 338 1 0.586 0.02054 0.545 0.625
## 134 337 1 0.584 0.02055 0.543 0.623
## 136 336 2 0.581 0.02058 0.539 0.620
## 137 334 1 0.579 0.02059 0.538 0.618
## 138 333 1 0.577 0.02060 0.536 0.617
## 139 332 1 0.576 0.02061 0.534 0.615
## 140 331 1 0.574 0.02062 0.532 0.613
## 142 330 3 0.569 0.02065 0.527 0.608
## 143 327 2 0.565 0.02067 0.524 0.605
## 144 325 3 0.560 0.02070 0.518 0.599
## 147 322 1 0.558 0.02071 0.517 0.598
## 148 321 2 0.555 0.02073 0.513 0.594
## 150 319 1 0.553 0.02073 0.511 0.593
## 151 318 1 0.551 0.02074 0.510 0.591
## 152 317 1 0.550 0.02075 0.508 0.589
## 153 316 1 0.548 0.02076 0.506 0.587
## 154 315 1 0.546 0.02076 0.504 0.586
## 155 314 1 0.544 0.02077 0.503 0.584
## 156 313 3 0.539 0.02079 0.497 0.579
## 157 310 1 0.537 0.02079 0.496 0.577
## 159 309 3 0.532 0.02081 0.491 0.572
## 161 306 2 0.529 0.02082 0.487 0.569
## 162 304 2 0.525 0.02082 0.484 0.565
## 164 302 3 0.520 0.02083 0.478 0.560
## 166 299 2 0.517 0.02084 0.475 0.556
## 167 297 2 0.513 0.02084 0.471 0.553
## 168 295 4 0.506 0.02085 0.465 0.546
## 169 291 1 0.504 0.02085 0.463 0.544
## 170 290 3 0.499 0.02085 0.458 0.539
## 171 287 1 0.497 0.02085 0.456 0.537
## 174 286 1 0.496 0.02085 0.454 0.536
## 175 285 3 0.490 0.02085 0.449 0.531
## 176 282 2 0.487 0.02084 0.445 0.527
## 177 280 1 0.485 0.02084 0.444 0.525
## 180 279 2 0.482 0.02084 0.440 0.522
## 181 277 2 0.478 0.02083 0.437 0.518
## 182 275 1 0.477 0.02083 0.435 0.517
## 183 274 1 0.475 0.02082 0.433 0.515
## 184 273 3 0.470 0.02081 0.428 0.510
## 186 270 2 0.466 0.02080 0.425 0.506
## 187 268 1 0.464 0.02080 0.423 0.505
## 188 267 2 0.461 0.02079 0.420 0.501
## 189 265 1 0.459 0.02078 0.418 0.499
## 190 264 2 0.456 0.02077 0.415 0.496
## 191 262 1 0.454 0.02076 0.413 0.494
## 192 261 2 0.450 0.02075 0.409 0.491
## 193 259 1 0.449 0.02074 0.408 0.489
## 196 258 1 0.447 0.02073 0.406 0.487
## 198 257 2 0.443 0.02072 0.403 0.484
## 199 255 1 0.442 0.02071 0.401 0.482
## 200 254 1 0.440 0.02070 0.399 0.480
## 203 253 2 0.437 0.02068 0.396 0.477
## 204 251 1 0.435 0.02067 0.394 0.475
## 207 250 1 0.433 0.02066 0.392 0.473
## 208 249 1 0.431 0.02065 0.391 0.471
## 209 248 1 0.430 0.02064 0.389 0.470
## 210 247 2 0.426 0.02062 0.385 0.466
## 211 245 1 0.424 0.02061 0.384 0.464
## 212 244 1 0.423 0.02060 0.382 0.463
## 215 243 1 0.421 0.02059 0.380 0.461
## 216 242 1 0.419 0.02058 0.379 0.459
## 217 241 1 0.417 0.02056 0.377 0.457
## 218 240 1 0.416 0.02055 0.375 0.456
## 220 239 4 0.409 0.02050 0.368 0.449
## 222 235 1 0.407 0.02049 0.367 0.447
## 224 234 3 0.402 0.02044 0.362 0.442
## 225 231 1 0.400 0.02043 0.360 0.440
## 226 230 3 0.395 0.02038 0.355 0.435
## 227 227 2 0.391 0.02035 0.351 0.431
## 228 225 2 0.388 0.02032 0.348 0.427
## 231 223 3 0.383 0.02027 0.343 0.422
## 232 220 2 0.379 0.02023 0.339 0.419
## 233 218 2 0.376 0.02020 0.336 0.415
## 237 216 1 0.374 0.02018 0.334 0.413
## 238 215 1 0.372 0.02016 0.333 0.412
## 239 214 1 0.370 0.02014 0.331 0.410
## 242 213 2 0.367 0.02010 0.328 0.406
## 243 211 2 0.363 0.02006 0.324 0.403
## 244 209 1 0.362 0.02004 0.323 0.401
## 245 208 2 0.358 0.02000 0.319 0.397
## 246 206 1 0.357 0.01997 0.318 0.396
## 248 205 1 0.355 0.01995 0.316 0.394
## 250 204 1 0.353 0.01993 0.314 0.392
## 253 203 1 0.351 0.01991 0.312 0.390
## 255 202 2 0.348 0.01986 0.309 0.387
## 256 200 1 0.346 0.01984 0.307 0.385
## 259 199 2 0.343 0.01979 0.304 0.381
## 260 197 2 0.339 0.01974 0.301 0.378
## 267 195 1 0.337 0.01972 0.299 0.376
## 268 194 2 0.334 0.01967 0.296 0.373
## 273 192 1 0.332 0.01964 0.294 0.371
## 274 191 3 0.327 0.01956 0.289 0.365
## 276 188 1 0.325 0.01954 0.287 0.364
## 279 187 1 0.323 0.01951 0.286 0.362
## 280 186 1 0.322 0.01948 0.284 0.360
## 282 185 1 0.320 0.01945 0.282 0.358
## 285 184 3 0.315 0.01937 0.277 0.353
## 287 181 1 0.313 0.01934 0.276 0.351
## 289 180 1 0.311 0.01931 0.274 0.349
## 290 179 2 0.308 0.01925 0.271 0.346
## 292 177 1 0.306 0.01922 0.269 0.344
## 296 176 1 0.304 0.01919 0.267 0.342
## 297 175 1 0.303 0.01916 0.266 0.340
## 299 174 1 0.301 0.01913 0.264 0.339
## 300 173 1 0.299 0.01909 0.262 0.337
## 306 172 2 0.296 0.01903 0.259 0.333
## 307 170 2 0.292 0.01896 0.256 0.330
## 310 168 1 0.290 0.01893 0.254 0.328
## 313 167 1 0.289 0.01890 0.252 0.326
## 317 166 1 0.287 0.01886 0.251 0.324
## 321 165 1 0.285 0.01883 0.249 0.323
## 324 164 1 0.283 0.01879 0.247 0.321
## 325 163 1 0.282 0.01876 0.246 0.319
## 328 162 1 0.280 0.01872 0.244 0.317
## 332 161 1 0.278 0.01869 0.242 0.315
## 339 160 1 0.277 0.01865 0.241 0.314
## 343 159 1 0.275 0.01862 0.239 0.312
## 348 158 1 0.273 0.01858 0.237 0.310
## 349 157 1 0.271 0.01854 0.236 0.308
## 353 156 1 0.270 0.01850 0.234 0.306
## 354 155 3 0.264 0.01839 0.229 0.301
## 355 152 1 0.263 0.01835 0.227 0.299
## 360 151 1 0.261 0.01831 0.226 0.297
## 361 150 1 0.259 0.01827 0.224 0.296
## 362 149 1 0.257 0.01823 0.222 0.294
## 364 148 1 0.256 0.01819 0.221 0.292
## 369 147 1 0.254 0.01815 0.219 0.290
## 373 146 1 0.252 0.01811 0.217 0.288
## 374 145 1 0.250 0.01807 0.216 0.286
## 377 144 1 0.249 0.01803 0.214 0.285
## 379 143 1 0.247 0.01798 0.213 0.283
## 380 142 1 0.245 0.01794 0.211 0.281
## 384 141 1 0.243 0.01790 0.209 0.279
## 386 140 1 0.242 0.01785 0.208 0.277
## 396 139 1 0.240 0.01781 0.206 0.276
## 398 138 1 0.238 0.01777 0.204 0.274
## 399 137 1 0.237 0.01772 0.203 0.272
## 401 136 1 0.235 0.01768 0.201 0.270
## 408 135 1 0.233 0.01763 0.199 0.268
## 431 134 1 0.231 0.01758 0.198 0.267
## 434 133 1 0.230 0.01754 0.196 0.265
## 436 132 1 0.228 0.01749 0.194 0.263
## 437 131 1 0.226 0.01744 0.193 0.261
## 441 130 1 0.224 0.01740 0.191 0.259
## 442 129 1 0.223 0.01735 0.190 0.257
## 449 128 1 0.221 0.01730 0.188 0.256
## 458 127 1 0.219 0.01725 0.186 0.254
## 459 126 2 0.216 0.01715 0.183 0.250
## 461 124 1 0.214 0.01710 0.181 0.248
## 471 123 1 0.212 0.01705 0.180 0.246
## 477 122 1 0.210 0.01700 0.178 0.245
## 490 121 1 0.209 0.01695 0.177 0.243
## 491 120 1 0.207 0.01689 0.175 0.241
## 494 119 1 0.205 0.01684 0.173 0.239
## 499 118 1 0.203 0.01679 0.172 0.237
## 502 116 1 0.202 0.01674 0.170 0.235
## 516 111 1 0.200 0.01668 0.168 0.234
## 519 110 1 0.198 0.01663 0.167 0.232
## 559 50 1 0.194 0.01676 0.162 0.228
## 568 37 1 0.189 0.01711 0.157 0.224
## 659 8 1 0.165 0.02668 0.117 0.221
y graaficamos el estimador con sus respectivos intervalos de confianza
plot(ajuste, main="Estimador Kaplan-Meier: Recaída en adicciones", xlab="tiempo", ylab=expression(hat(S)(t)), col="blue", col.main="darkred", col.lab="darkred", conf.int=T, lwd=2)