str(Surv(heart$start, heart$stop, heart$event)[1:10, 1:3])
#-----------------------------
labelled [1:10, 1:3] 0 0 0 1 0 36 0 0 0 51 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:3] "start" "stop" "status"
- attr(*, "units")= chr "Day"
Это время:
Surv(heart$start, heart$stop, heart$event)[1:10, "stop"]
# [Day]
# [1] 50 6 1 16 36 39 18 3 51 675
Surv(heart$start, heart$stop, heart$event)[1:10, "start"]
# [Day]
# [1] 0 0 0 1 0 36 0 0 0 51
Так что, если вы хотите времена, связанные с событиями, вы просто:
> Surv(heart$start, heart$stop, heart$event)[ , "stop"][ Surv(heart$start, heart$stop, heart$event)[ , "status"] == 1]
[Day]
[1] 50 6 16 39 18 3 675 40 85 58 153 8 81 1387 1 308 36
[18] 43 37 28 1032 51 733 219 263 72 35 852 16 77 12 100 66 5
[35] 53 3 2 40 45 996 72 9 980 285 102 188 3 61 149 343 68
[52] 2 69 584 78 32 285 68 30 90 17 2 21 96 80 334 5 110
[69] 207 186 340 165 16 21 6
Или, чтобы получить номер просто просуммировать маркеры событий:
sum(Surv(heart$start, heart$stop, heart$event)[ , "status"] == 1)
[1] 75
И для составления таблицы потенциал ковариатой:
> with(lung, table(Surv(time, status)[, "status"], ph.ecog))
ph.ecog
0 1 2 3
0 26 31 6 0
1 37 82 44 1
спасибо! он очень хорошо работает! – speendo