Professional Documents
Culture Documents
Introduccin..........................................................................................................................
Parte 1: Introduccin al anlisis de supervivencia................................................................
1.1. Censura y truncamiento......................................................................................
1.2. Definiciones bsicas...........................................................................................
1.2.1. Funcin de supervivencia....................................................................
1.2.2. Funciones de riesgos (hazard).............................................................
1.3. Estimador de Kaplan y Meier.............................................................................
1.4. Comparacin de las funciones de supervivencia................................................
1.5. Sobrevida media y mediana................................................................................
1.5.1. Sobrevida media..................................................................................
1.5.2. Sobrevida mediana...............................................................................
1.6. El modelo de regresin de Cox...........................................................................
1.7. Contrastes de hiptesis para el modelo de Cox..................................................
1.7.1. Test de razn de verosimilitud.............................................................
1.7.2. Test de Wald
1.7.3. Test de puntajes (score test).................................................................
1.8. Modelos de Cox estratificados............................................................................
1.9. Estudio de residuos en el anlisis de supervivencia...........................................
1.9.1. Residuos de martingala........................................................................
1.9.2. Residuos de desvos (deviances).........................................................
1.9.3. Residuos de puntajes (scores)..............................................................
1.9.4. Residuos de Schoenfeld.......................................................................
1.10. Interpretacin del modelo de Cox.....................................................................
Parte 2. Aspectos relacionados con el lenguaje R................................................................
2.1. Introduccin al lenguaje R..................................................................................
2.1.1. Instalacin del lenguaje R....................................................................
2.1.2. Instalacin de los paquetes adicionales...............................................
2.1.3. Ayudas y documentacin del R...........................................................
2.1.4. Acceso a datos internos disponibles....................................................
2.1.5. Acceso a datos externos disponibles....................................................
2.1.6. La opcin de asignacin......................................................................
2.1.7. Verificacin de objetos disponibles.....................................................
2.1.8. Eliminacin de objetos no deseados....................................................
2.1.9. R diferencia las maysculas de las minsculas...................................
2.1.10. Datos faltantes en R...........................................................................
2.1.11. Comentarios en R..............................................................................
2.1.12. Creacin de datos en R......................................................................
2.1.13. Carga y descarga de objetos..............................................................
2.1.14. Envo de grficos a otros programas.................................................
2.1.15. Salida del lenguaje R........................................................................
2.2. Anlisis de supervivencia utilizando el lenguaje R............................................
2.2.1. El paquete survival..............................................................................
2.2.1.1 La funcin Surv.....................................................................
2.2.1.2. La funcin survfit..............................................................
1
2
2
3
3
3
4
5
7
7
7
8
9
9
9
9
10
10
11
11
12
12
13
14
14
15
15
15
16
16
16
17
17
17
17
17
17
18
18
18
18
19
19
19
20
20
21
21
22
22
22
23
25
26
29
29
31
31
33
36
Introduccin.
Este material ha sido elaborado para el curso titulado Anlisis de supervivencia bsico
utilizando el lenguaje R que ha sido programado en las VI Jornadas Acadmicas de la
Escuela de Estadstica y Ciencias Actuariales (EECA) y del rea de Postgrado en
Estadstica y Actuariado (APGEA) de la Universidad Central de Venezuela (UCV).
Como el curso est diseado para ser tomado por personas que no tienen conocimientos
acerca del tpico estadstico conocido como anlisis de supervivencia ni del lenguaje de
procesamiento estadstico R, ste ha sido estructurado de tal manera de dar una
introduccin tanto al anlisis de supervivencia, como del lenguaje R, y exponer las
principales herramientas para llevar un anlisis de supervivencia bsico mediante el uso del
lenguaje R.
El presente material ha sido dividido en dos secciones claramente diferenciadas una de la
otra.
En la primera parte del material se presenta una visin introductoria del anlisis de
supervivencia en el cual se presenta mecanismos de censura y truncamiento, algunas
definiciones bsicas, la estimacin del anlisis de supervivencia a travs del estimador de
Kaplan y Meier, el modelo de regresin de Cox acompaado de la verificacin de sus
supuestos.
La segunda parte del material se refiere a una breve introduccin al lenguaje R y a su uso
en el anlisis de supervivencia. En esta seccin se presentan aspectos generales del
lenguaje, aspectos especficos como herramienta para el anlisis de supervivencia
acompaado de un ejemplo completo.
Finalmente debemos enfatizar que este es un material que este curso pretende servir de
motivacin para que algunos de los asistentes decidan seguir el estudio de los mtodos de
anlisis de supervivencia y del lenguaje R.
iii)
Censura por intervalos: Se presenta cuando solo se sabe que al individuo le ocurre
el evento de inters entre un instante ti y un tiempo t j .
iv)
v)
Para obtener un panorama general de los distintos tipos de censura puede verse el libro de
Andersen y colaboradores (Andersen et al., 1993) o el de Klein y Moeschberger (1997).
(t ) =
f (t )
S (t )
TMF =
F ( t + t ) F ( t ) 1
t
S (t )
( t ) = lim TMF =
t 0
F '(t )
S (t )
f (t )
S (t )
( t ) = ( u )du = log S ( t )
0
El intervalo de confianza del 95% para escala plana (o de identidad), llamado as porque es
obtenido de manera estndar al que se obtiene cualquiera de los intervalos de confianza, sin
utilizar ninguna transformacin, se obtiene mediante:
1
d1 ( ti )
0
d 0 ( ti )
Total
d ( ti )
No muerte
r1 ( ti ) d1 ( ti )
r0 ( ti ) d 0 ( ti )
r ( ti ) d ( ti )
En riesgo
r1 ( ti )
r0 ( ti )
r ( ti )
Evento
Donde por comodidad se han definido los grupos, como 1 y 0, correspondiendo estos
grupos a cada una de las dos curvas de supervivencia.
Para construir el estadstico de contraste basta con calcular el nmero esperado de muertes
y la varianza estimada del nmero de muertes para uno de los grupos; por ejemplo, para el
grupo 1 el nmero esperado de muertes se calcula de la siguiente manera:
r1 ( ti ) d ( ti )
r ( ti )
r1 ( ti ) r0 ( ti ) ( r ( ti ) d ( ti ) )
r 2 ( ti ) ( r ( ti ) 1)
wi ( d1 ( ti ) e1 ( ti ) )
Q = i =1 m
wi2V ( d1 ( ti ) )
i =1
Puede demostrarse que el estadstico anterior se puede aproximar mediante una Chi
cuadrado de un grado de libertad si el nmero de ocurrencias de eventos es grande.
Bajo la hiptesis nula que asume que las dos funciones de supervivencia son iguales. En
esta frmula m es el nmero de tiempos de ocurrencia de eventos en ambos grupos y wi
denota los pesos, que toman valores distintos dependiendo del test utilizado. En nuestro
caso slo utilizaremos dos de los casos: el test de Mantel y Haenzel, mas conocido como el
test de los rangos de logaritmos (log-rank test) y el test de Peto y Peto. Para una
enumeracin muy completa de los distintos test, basados en procesos de conteo (Andersen
et al, 1993, Fleming y Harrington, 1991).
a) Como establecimos anteriormente, el ms comn de los test es de Mantel y Haenzel (o
log-rank). Este test est diseado para verificar igualdad o diferencia en la funcin de
supervivencia en todos los tiempos. En este test los pesos son iguales a 1, es decir, wi = 1 .
(Mantel, 1966).
b) Otro de los test comnmente utilizados es el de Peto y Peto (1972). Este test permite
verificar igualdad o diferencia de las funciones de supervivencia en los tiempos iniciales.
En este test los pesos toman la forma:
r ( ti )
wi = S ( ti 1 )
r ( ti ) 1
donde S ( t ) es el estimador de la funcin de supervivencia definida por:
r ( ti ) + 1
ti t
c) Otra forma de estudiar los test anteriores fue propuesta por Harrington y Fleming
(Harrington y Fleming, 1982, Fleming y Harrington, 1991). Esos dos autores sugieren
pesos de la forma:
w1 = SKM ( ti 1 )
y haciendo = 0 se tiene que wi = 1 (test log-rank) y, si = 1 , se obtiene el test de Peto y
Peto. Esta manera de definir los pesos es la forma como trabaja el lenguaje R.
= SKM ( t )dt
0
dN ( t )
var ( ) = S KM ( u )du
00
r (t ) ( r (t ) N (t ))
T
( t ; Z i ( t ) ) = 0 ( t ) e ' Z (t )
i
' Zi ( t )
( t; Zi ( t ) )
( t; Z j ( t ) )
0 ( t ) e ' Z ( t )
i
0 ( t ) e
' Z j (t )
e
e
' Zi ( t )
' Z j (t )
Li ( ) =
0 ( t * ) ri ( t * )
ri ( t * )
Y (t ) (t ) r (t ) Y (t ) r (t )
*
( ( ))}
2 log ( L ( 0 ) ) log L
donde 0 son los valores iniciales de los coeficientes y es la solucin luego de ajustar
el modelo.
( ) ( )
!
El tercer contraste es el conocido como test de los puntajes, definido como U ' IU , donde U
es el vector de derivadas del log ( L ( ) ) dado por:
n
U ( ) = Z i ( t ) Z ( , t ) dN i ( t )
i =1 0
Y ( t ) r ( t ) Z ( t ) Z ( , t ) Z ( t ) Z ( , t ) dN t
I ( ) =
()
Y (t ) r (t )
n
i =1 0
Y (t ) r (t ) Z (t )
Y (t ) r (t )
j
i i
( t; Zi ( t ) ) = j ( t ) e ' Z (t )
i
Este modelo permite obtener la estimacin del modelo en presencia de una variable de
estratificacin sobre la cual se desean obtener funciones de supervivencia por cada uno de
los distintos grupos y probablemente poder estudiar la existencia o no de las funciones de
supervivencia entre los grupos.
El modelo de Cox estratificado tambin constituye una de las maneras de corregir el
modelo de Cox cuando no se cumple el supuesto de riesgos proporcionales para alguna de
las covariables. Es este caso suele correrse el modelo estratificando por la covariable que
no cumple con el supuesto de riesgo proporcional. Este procedimiento permite corregir el
sesgo en la estimacin del parmetro que puede presentarse cuando se viola el supuesto de
riesgo proporcional. Sin embargo, presenta una desventaja y es que no existe ningn que
permita estimar el efecto de la covariable de estratificacin.
10
'Z s
( , s)
M i ( t ) = N i ( t ) E i ( t ) = N i ( t ) Yi ( s ) e i ( ) d
0
0
dN ( s )
( , s) =
i =1
Y ( s ) e
i =1
' Zi ( s )
M i ( t ) = N i ( t ) Yi ( s ) e
' Zi ( s )
0 ( s )ds
Los residuos de martingala son muy asimtricos y con una cola muy larga hacia la derecha,
particularmente para datos de supervivencia para un solo evento.
Los residuos de martingala se usan para estudiar la forma funcional de una covariable.
( )
((
di = signo M i * M i N i log N i M i
) N)
i
11
N i Ei
E
i
U ij = U ij ,
donde U ij ( , t ) , j = 1, " , p son las componentes del vector fila de longitud p obtenido a
travs del proceso de puntaje para el i-simo individuo:
t
U i ( ) = Z i ( t ) Z ( , t ) dN i ( t )
0
con una fila por muerte y una columna por covariable, donde i y ti son los individuos y el
tiempo de ocurrencia del evento respectivamente.
Los residuos de Schoenfeld son tiles para la verificacin del supuesto de riesgo
proporcional en el modelo de Cox.
12
( )
( )
( )
( ))
exp 1.96ee
( )
( )
Para el caso de covariables continuas, exp representa la razn de riesgos (hazard ratio)
al incrementar en una unidad la covariable.
Resulta ms interesante estimar la razn de riesgos al incrementar la covariable en c
unidades y esto se hace mediante exp c , siendo su intervalo de confianza del 95% de la
( )
forma:
( ))
exp c 1.96 c ee
13
14
R es un lenguaje que ofrece varios niveles de ayuda y estas pueden activarse a travs de la
lnea de comandos o a travs del menu Help.
A travs de la lnea de comandos pueden utilizarse las instrucciones:
help(topico) para obtener ayuda acerca del tpico especfico, el inconveniente de esta
instruccin es que hay que colocar exactamente el nombre del tpico.
15
Una gran parte de los paquetes tiene disponible una serie de datos que pueden ser
trabajados, sobre todo en la etapa de aprendizaje del lenguaje R. La verificacin de los
datos disponibles en todos los paquetes disponibles en el R que se est trabajando puede
verse mediante la instruccin data() y para ver los datos de un paquete en especfico debe
escribirse la opcin data(paquete).
Todo comando que se ejecuta en R produce un resultado y para poder tener disponible este
resultado debe hacerse un proceso de asignacin, esto de hace mediante los caracteres
menor que (<) y el guin (-), generando el efecto visual <-, el proceso de asignacin se
hace asignando el valor o el objeto a la derecha de <- al objeto cuyo nombre es colocado a
la izquierda de <-. El nombre del objeto al cual se le hace la asignacin puede incluir
cualquier carcter alfanumrico, incluyendo puntos y se recomienda que comience con un
letra. El formato de la asignacin es:
Nombre.del.objeto<-(funcin u objeto generado)
16
Un aspecto que debe considerarse cuando se trabaja en R es que el lenguaje diferencia entre
las maysculas y las minsculas, por loe cada comando u objeto debe se escrito de manera
exacta.
Los datos faltantes para variables numricas en R se suele especificar con el valor NA. No
todos las funciones admiten la presencia de datos faltantes por lo que hay que revisar
primero la documentacin disponible para la funcin o efectuar pruebas correspondientes.
2.1.11. Comentarios en R.
Otra opcin es la creacin de vectores por separado y unirlos por columnas mediante la
funcin cbind y luego eliminar los objetos de las variables (vectores) pero este
procedimiento es menos eficiente que anterior.
17
Algunas funciones de R, necesitan tener accesible el objeto que contienes las variables a
analizar, la carga en el ambiente se hace mediante la instruccin attach(objeto) y la
descarga mediante la instruccin dettach(objeto).
Para salir del lenguaje R, se debe escribir la instruccin q(), seleccionar la opcin Exit del
men File o hacer clic en la x colocada en el extremo superior derecho de la ventana. En
este momento se pregunta si se desea guardar el espacio de trabajo, en caso de seleccionar
si se graban de manera definitiva los objetos y los comandos que se han generado durante la
sesin y si se selecciona no, se pierde la informacin de la sesin por lo que debe estar muy
atento para tomar la decisin al momento de cerrar la sesin de R.
El paquete survival permite llevar a cabo anlisis de supervivencia para datos que presentan
diversos mecanismos de censura. Este es un paquete que tiene la caracterstica de ser un
paquete con el estatus de recomendado el cual ya viene incorporado en la versin 2.0.0 de
R (versin 2.13.2), sin embargo, es recomendable estar atentos para actualizarlo de manera
permanente. Algunas de las funciones de este sern descritas brevemente en la
subsecciones siguientes. Para ejecutar cualquiera de las funciones de este paquete es
necesario invocar la librera mediante la instruccin:
library(survival)
La funcin Surv permite crear objetos tipo survival, la estructura para datos que presentan
censura por la derecha es:
Surv(time, event)
19
La funcin coxph permite ajustar modelos de regresin de Cox. Permite tambin ajustar
modelos con variables dependientes del tiempo, modelos estratificados, modelos de
mltiples eventos por individuo y otras extensiones derivadas del enfoque basado en los
procesos de conteo. La estructura de la funcin coxph es:
coxph(formula, data=parent.frame(), weights, subset,
na.action, init, control, method=c("efron","breslow","exact"),
singular.ok=TRUE, robust=FALSE,
model=FALSE, x=FALSE, y=TRUE,...
)
20
Esta funcin puede combinarse con la funcin plot para obtener la distribucin de los
betas, para lo cual se utiliza la siguiente estructura:
plot(x, resid=TRUE, se=TRUE, df=4, nsmo=40, var, ...)
Otra funcin importante asociada a los objetos del tipo coxph es la funcin residuals, o
en su formato ms corto resid. Esta funcin permite calcular los residuos de martingala, de
puntajes (score), de tipo desvo (deviance) y de Schoenfeld. La estructura de esta funcin
es:
21
Posteriormente y antes de comenzar a ejecutar las funciones del paquete survival debe
ejecutarse el comando
> library(survival)
22
events
64
Mediante el comando names(km1) se obtienen los nombres del objeto km1, teniendo la
apariencia siguiente:
[1] "n"
[8] "upper"
"time"
"lower"
"n.risk"
"n.event"
"conf.type" "conf.int"
"surv"
"call"
"type"
"std.err"
23
81
78
75
63
59
53
50
43
38
33
31
26
22
21
18
11
7
4
1
2
4
1
1
2
1
1
1
1
1
2
1
1
1
1
1
2
0.761
0.742
0.702
0.691
0.679
0.654
0.641
0.626
0.609
0.591
0.572
0.528
0.504
0.480
0.453
0.412
0.353
0.177
0.03445
0.03623
0.03933
0.04025
0.04124
0.04348
0.04453
0.04592
0.04757
0.04958
0.05152
0.05616
0.05850
0.06044
0.06268
0.06920
0.08054
0.09701
0.6966
0.6739
0.6291
0.6164
0.6031
0.5737
0.5589
0.5418
0.5227
0.5011
0.4791
0.4283
0.4012
0.3748
0.3455
0.2963
0.2258
0.0601
0.832
0.816
0.784
0.775
0.765
0.745
0.734
0.722
0.710
0.696
0.682
0.650
0.632
0.614
0.594
0.573
0.552
0.518
main="Grfico
No.
1.
0.6
0.4
0.2
0.0
Supervivencia
0.8
1.0
20
40
60
80
100
120
Meses
24
Suponga que queremos comparar las funciones de supervivencia de los pacientes diabticos
y los no diabticos, para ello construyamos un grfico donde se observe las estimaciones de
Kaplan y Meier para los pacientes diabticos y no diabticos, esto lo haremos mediante las
instrucciones:
> Km2<-survfit(Surv(meses,censor2)~diabetes)
>
plot(km2,xlab="Meses",ylab="Supervivencia",
main="Grfico
No.
Estimador de Kaplan y Meier \n para pacientes diabticos y
diabticos",lty=c(1,2),mark.time=FALSE)
> legend(75,0.9,legend=c("No diabticos","Diabticos"),lty=c(1,2))
2.
no
Obtenindose el grfico:
0.4
0.6
No diabticos
Diabticos
0.0
0.2
Supervivencia
0.8
1.0
20
40
60
80
100
120
Meses
Obtenindose el resultado:
Call:
survdiff(formula = Surv(meses, censor2) ~ diabetes)
N Observed Expected (O-E)^2/E (O-E)^2/V
diabetes=0 212
49
56.46
0.986
8.6
diabetes=1 34
15
7.54
7.386
8.6
Chisq= 8.6
25
Ajustemos un modelo de Cox con diabetes, edad e ndice de quetelet como covariables y
asignemos el ajuste al objeto con nombre cox1, esto lo hacemos, mediante la instruccin:
> cox1<-coxph(Surv(meses,censor2)~diabetes + edad + quetelet, data=dpa,
na.action=na.exclude)
on 3 df, p=0.000308
Que es una salida en donde la significacin del modelos puede verificarse slo a travs del
mtodo de la razn de verosimilitud. Una salida ms completa se presenta mediante la
ejecucin del comando summary(cox1), la cual tiene la forma:
Call:
coxph(formula = Surv(meses, censor2) ~ diabetes + edad + quetelet,
data = dpa, na.action = na.exclude)
n=233 (13 observations deleted due to missing)
coef exp(coef) se(coef)
z
p
diabetes 0.5491
1.732
0.3208 1.71 0.0870
edad
0.0315
1.032
0.0097 3.25 0.0011
quetelet -0.0969
0.908
0.0389 -2.49 0.0130
diabetes
edad
quetelet
Rsquare= 0.077
(max possible=
Likelihood ratio test= 18.8 on
Wald test
= 19.4 on
Score (logrank) test = 19.8 on
0.892 )
3 df,
p=0.000308
3 df,
p=0.000229
3 df,
p=0.000184
Con esta cual podemos concluir que el modelo es significativo cualquiera de los tres
criterios (test de razn de verosimilitud, test de Wald y test de los puntajes (score o
logrank))
26
Mediante el comando:
> summary(survfit(cox1))
27
17
10
6
3
1
1
1
1
0.490
0.440
0.356
0.224
0.06759
0.07749
0.09776
0.12059
0.374
0.311
0.208
0.078
0.642
0.621
0.610
0.643
Obtenindose la grfica
0.4
0.6
0.0
0.2
Supervivencia
0.8
1.0
20
40
60
80
100
Meses
28
p
0.776
0.305
0.633
0.710
Y toma la forma:
2
0
-2
9.9
19
26
33
48
60
72
100
Time
29
Y el grfico es:
0.10
0.00
-0.10
0.20
9.9
19
26
33
48
60
72
100
Time
No.6.
Betas
para
ndice
de
Y el grfico es:
0.5
0.0
-0.5
1.0
9.9
19
26
33
48
60
72
100
Time
30
(tipo
1
0
-1
-2
50
100
150
200
250
Indice
Y en cual se evidencia que no existe ningn individuo que est influenciando en el ajuste
del modelo.
Estos grficos se obtienes utilizando los residuos dfbetas. Para el caso de diabetes, el
grfico se genera a travs de los comandos:
> rr<-resid(cox1,type="dfbeta")
> attach(dpa)
>
plot(diabetes,
rr[,1],
xlab="diabetes",
ylab="Influencia
para
diabetes",main="Grfico No. 8. Grfico de influencias para diabetes")
Obtenindose el grfico:
31
0.05
0.00
-0.05
-0.10
-0.15
0.0
0.2
0.4
0.6
0.8
1.0
diabetes
0.000
-0.001
-0.002
0.001
20
40
60
80
edad
32
0.015
0.010
0.005
-0.005 0.000
15
20
25
30
35
40
45
ndice de Quetelet
Pudindose observar que existe un individuo que esta influenciando sobre la estimacin del
coeficiente correspondiente al ndice de Quetelet.
La adecuacidad de la forma funcional para la variable edad puede ser verificada a travs de
los residuos de martingala, mediante el siguiente cdigo:
> cox1.0<-coxph(Surv(meses,censor2)~1,data=dpa, na.action=na.exclude)
> rr<-resid(cox1.0)
>
plot(dpa$edad,rr,xlab="Edad",ylab="Residuos
de
martingala",
main="Grfico No. 11. Verificacion de la forma funcional para edad")
> lines(lowess(dpa$edad,rr,iter=0))
Obtenindose el grfico:
33
0.5
0.0
-0.5
-1.0
-1.5
Residuos de martingala
1.0
20
40
60
80
Edad
34
0.5
0.0
-0.5
-1.0
Residuos de martingala
1.0
15
20
25
30
35
40
45
quetelet
En el que se observa que la forma funcional para el ndice de Quetelet parece ser adecuada.
Referencias.
Andersen, P.K., Borgan, ., Gill, R.D. y Keiding, N. (1993). Statistical Models Based
on Counting Processes. N.Y.: Springer-Verlag.
Borges, R.E. (2002). Anlisis de Supervivencia Aplicado a un Caso de Dilisis Renal:
Dilisis Peritoneal en el Hospital Clnico Universitario de Caracas y Hemodilisis en
el Hospital de Clnicas Caracas, 1980-2000. Tesis de M.Sc. en Estadsitica Aplicada,
Mrida, Venezuela: Instituto de Estadstica Aplicada y Computacin, Universidad de
Los Andes. (Disponible en: http://tesis.saber.ula.ve)
Cox, D.R. (1972). Regression models and life tables (with discussion). Journal of the
Royal Statistical Society: Series B, 34: 187-220.
Fleming, T.R. y Harrington, D.P. (1991). Counting Processes and Survival Analysis.
N.Y.: John Wiley & Sons, Inc.
Greenwood, M. (1926). The natural duration of cancer. Reports on Public Health and
Medical Subjects, 33: 1-26, Londres: Her Majestys Stationery Office.
Harrington, D. P. and Fleming, T. R. (1982). A class of rank test procedures for
censored survival data. Biometrika, 69:553-566.
35
statistical
S original by Terry Therneau and ported by Thomas Lumley (2004). survival: Survival
analysis, including penalised likelihood. R package version 2.13-2.
Schoenfeld, D. (1982). Partial residuals for the proportional hazard regression model.
Biometrika,, 69: 239-241.
Therneau, T.M. y Grambsch, P.M. (2000). Modeling Survival Data: Extending the Cox
Model. N.Y.: Springer-Verlag.
Therneau, T.M., Grambsch, P.M. y Fleming, T.R. (1990). Martingale-based residuals for
survival models. Biometrika, 77: 147-160.
36