Stima della probabilità di sopravvivenza in R


14

Sulla base di un campione di tempi di sopravvivenza, vorrei stimare la probabilità di sopravvivere al tempo , per alcuni specifici , usando lo stimatore Kaplan-Meier. È possibile farlo in ? Si prega di notare che non è necessariamente l'ora di un evento.t t tnttRt


1
Ovviamente: vedi la funzione survfit () del pacchetto di sopravvivenza [type help (package = "survival")]
Stéphane Laurent

3
@Stephane Laurent: la funzione surfit () genera la sopravvivenza stimata durante gli eventi. Ma mi piacerebbe avere una procedura automatica per calcolare quella sopravvivenza in qualsiasi momento t. Grazie ...
user7064

Quindi usa approxfun ()
Stéphane Laurent l'

posso avere un esempio?
user7064

Risposte:


23

Puoi usare l'output della survfitfunzione dal survivalpacchetto e darlo a stepfun.

km <- survfit(Surv(time, status)~1, data=veteran)
survest <- stepfun(km$time, c(1, km$surv))

Ora survestè una funzione che può essere valutata in qualsiasi momento.

> survest(0:100)
  [1] 1.0000000 0.9854015 0.9781022 0.9708029 0.9635036 0.9635036 0.9635036
  [8] 0.9416058 0.9124088 0.9124088 0.8978102 0.8905109 0.8759124 0.8613139
 [15] 0.8613139 0.8467153 0.8394161 0.8394161 0.8175182 0.8029197 0.7883212
 [22] 0.7737226 0.7664234 0.7664234 0.7518248 0.7299270 0.7299270 0.7225540
 [29] 0.7225540 0.7151810 0.7004350 0.6856890 0.6856890 0.6783160 0.6783160
 [36] 0.6709430 0.6635700 0.6635700 0.6635700 0.6635700 0.6635700 0.6635700
 [43] 0.6561970 0.6488240 0.6414510 0.6340780 0.6340780 0.6340780 0.6267050
 [50] 0.6193320 0.6193320 0.5972130 0.5750940 0.5677210 0.5529750 0.5529750
 [57] 0.5456020 0.5456020 0.5456020 0.5382290 0.5382290 0.5308560 0.5308560
 [64] 0.5234830 0.5234830 0.5234830 0.5234830 0.5234830 0.5234830 0.5234830
 [71] 0.5234830 0.5234830 0.5161100 0.5087370 0.5087370 0.5087370 0.5087370
 [78] 0.5087370 0.5087370 0.5087370 0.4939910 0.4939910 0.4866180 0.4866180
 [85] 0.4791316 0.4791316 0.4791316 0.4716451 0.4716451 0.4716451 0.4640380
 [92] 0.4640380 0.4564308 0.4564308 0.4564308 0.4412164 0.4412164 0.4412164
 [99] 0.4412164 0.4257351 0.4179945

Surreal sta riscontrando un problema, sta cercando una risposta su StackExchange, trova la stessa domanda e si rende conto che sei stato tu a rispondere quasi 7 anni fa ...
Brian Diggs,

7

Un parametro time può essere passato alla funzione di riepilogo dell'oggetto survfit:

summary(km, times=100)

Un vettore può anche essere passato:

summary(km, times=0:100)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.