1. INTRODUCCIÓN

El análisis de supervivencia lo conforman una serie de técnicas en las que se realiza el seguimiento de cada sujeto durante un periodo, registrando el tiempo transcurrido desde un evento inicial hasta el evento terminal (o hasta el final del seguimiento si no llega a ocurrir dicho evento).

El evento terminal se suele definir como estado ‘muerte’, de ahí lo de supervivencia, ya que en sus orígenes este evento se asociaba al fallo de un elemento o a la muerte de un paciente. Actualmente puede hacer referencia al alta del paciente, curación de una enfermedad…

1.1 INSTALACIÓN DE PAQUETES

library(survival)
library(survminer)
## Loading required package: ggplot2
## Loading required package: ggpubr
## Loading required package: magrittr

1.2 BASE DE DATOS

La base de datos fue extraída de la libreria(ISwR) del libro Statistical Models Based on Counting Processes, Springer.

library(ISwR)
## 
## Attaching package: 'ISwR'
## The following object is masked from 'package:survival':
## 
##     lung
str(melanom)
## 'data.frame':    205 obs. of  6 variables:
##  $ no    : int  789 13 97 16 21 469 685 7 932 944 ...
##  $ status: int  3 3 2 3 1 1 1 1 3 1 ...
##  $ days  : int  10 30 35 99 185 204 210 232 232 279 ...
##  $ ulc   : int  1 2 2 2 1 1 1 1 1 1 ...
##  $ thick : int  676 65 134 290 1208 484 516 1288 322 741 ...
##  $ sex   : int  2 2 2 1 2 2 2 2 1 1 ...
attach(melanom)

La base de datos melanoma contiene un total de 205 observaciones de 6 variables:

1. no. código del paciente.

2. status. el estado de los pacientes y el final del estudio (1=muere por melanoma maligno, 2=vive al final del estudio, 3=muere por otras causas).

3. days. tiempo de estudio después de la operación con melanoma maligno.

4. ulc. superficie del melanoma vista por un microscopio si muestra ulceración (1=Presente, 2=Ausencia).

5. thick. el grosor del tumor.

6. sex. género de los pacientes (1=Femenino, 2=Masculino).

head(melanom)
##    no status days ulc thick sex
## 1 789      3   10   1   676   2
## 2  13      3   30   2    65   2
## 3  97      2   35   2   134   2
## 4  16      3   99   2   290   1
## 5  21      1  185   1  1208   2
## 6 469      1  204   1   484   2

2.MÉTODO DE KAPLAN MEIER

Conocido también como el límite del producto. La característica distintiva del análisis con este método es que la proporción acumulada que sobrevive se calcula para el tiempo de supervivencia individual de cada paciente y no se agrupan los tiempos de supervivencia en intervalos. Por esta razón es especialmente útil para estudios que utilizan un número pequeño de pacientes.

La validez de este método descansa en dos suposiciones:

1. Las personas que se retiran del estudio tienen un destino parecido a las que quedan.

2. El período de tiempo durante el cual una persona entra en el estudio no tiene efecto independiente en la respuesta.

La función de supervivencia es obtenido a través del paquete estadístico survival mediante la función survfit(). Esta función en su forma más sencilla, solo requiere un objeto de supervivencia creado por la función Surv().

melanom.surv <- Surv(days, status==1)
melanom.km <- survfit(melanom.surv ~ 1, data = melanom, type = "kaplan-meier")

La estimación de la función de supervivencia se lleva a cabo con la función summary().

summary(melanom.km)
## Call: survfit(formula = melanom.surv ~ 1, data = melanom, type = "kaplan-meier")
## 
##  time n.risk n.event survival std.err lower 95% CI upper 95% CI
##   185    201       1    0.995 0.00496        0.985        1.000
##   204    200       1    0.990 0.00700        0.976        1.000
##   210    199       1    0.985 0.00855        0.968        1.000
##   232    198       1    0.980 0.00985        0.961        1.000
##   279    196       1    0.975 0.01100        0.954        0.997
##   295    195       1    0.970 0.01202        0.947        0.994
##   386    193       1    0.965 0.01297        0.940        0.991
##   426    192       1    0.960 0.01384        0.933        0.988
##   469    191       1    0.955 0.01465        0.927        0.984
##   529    189       1    0.950 0.01542        0.920        0.981
##   621    188       1    0.945 0.01615        0.914        0.977
##   629    187       1    0.940 0.01683        0.907        0.973
##   659    186       1    0.935 0.01748        0.901        0.970
##   667    185       1    0.930 0.01811        0.895        0.966
##   718    184       1    0.925 0.01870        0.889        0.962
##   752    183       1    0.920 0.01927        0.883        0.958
##   779    182       1    0.915 0.01981        0.877        0.954
##   793    181       1    0.910 0.02034        0.871        0.950
##   817    180       1    0.904 0.02084        0.865        0.946
##   833    178       1    0.899 0.02134        0.859        0.942
##   858    177       1    0.894 0.02181        0.853        0.938
##   869    176       1    0.889 0.02227        0.847        0.934
##   872    175       1    0.884 0.02272        0.841        0.930
##   967    174       1    0.879 0.02315        0.835        0.926
##   977    173       1    0.874 0.02357        0.829        0.921
##   982    172       1    0.869 0.02397        0.823        0.917
##  1041    171       1    0.864 0.02436        0.817        0.913
##  1055    170       1    0.859 0.02474        0.812        0.909
##  1062    169       1    0.854 0.02511        0.806        0.904
##  1075    168       1    0.849 0.02547        0.800        0.900
##  1156    167       1    0.844 0.02582        0.794        0.896
##  1228    166       1    0.838 0.02616        0.789        0.891
##  1252    165       1    0.833 0.02649        0.783        0.887
##  1271    164       1    0.828 0.02681        0.777        0.883
##  1312    163       1    0.823 0.02713        0.772        0.878
##  1435    161       1    0.818 0.02744        0.766        0.874
##  1506    159       1    0.813 0.02774        0.760        0.869
##  1516    155       1    0.808 0.02805        0.755        0.865
##  1548    152       1    0.802 0.02837        0.749        0.860
##  1560    150       1    0.797 0.02868        0.743        0.855
##  1584    148       1    0.792 0.02899        0.737        0.851
##  1621    146       1    0.786 0.02929        0.731        0.846
##  1667    137       1    0.780 0.02963        0.725        0.841
##  1690    134       1    0.775 0.02998        0.718        0.836
##  1726    131       1    0.769 0.03033        0.712        0.831
##  1933    110       1    0.762 0.03085        0.704        0.825
##  2061     95       1    0.754 0.03155        0.694        0.818
##  2062     94       1    0.746 0.03221        0.685        0.812
##  2103     90       1    0.737 0.03290        0.676        0.805
##  2108     88       1    0.729 0.03358        0.666        0.798
##  2256     80       1    0.720 0.03438        0.656        0.791
##  2388     75       1    0.710 0.03523        0.645        0.783
##  2467     69       1    0.700 0.03619        0.633        0.775
##  2565     63       1    0.689 0.03729        0.620        0.766
##  2782     57       1    0.677 0.03854        0.605        0.757
##  3042     52       1    0.664 0.03994        0.590        0.747
##  3338     35       1    0.645 0.04307        0.566        0.735

La estimación devuelve los siguientes valores:

1. time : Tiempo de la observación

2. n.risk : El número de sujetos en riesgo.

3. n.event : El número de sujetos que presentaron el evento.

4. survival : La estimación de la función de supervivencia.

5. std.err : La desviación estándar de la estimación.

6. lower y upper CI : Los intervalos de confianza para la estimación.

2.1 GRÁFICA DE LA CURVA DE SUPERVIVENCIA

La curva de supervivencia estimada se gráfica con la función ggsurvplot() de la paquetería survminer, está gráfica esta hecha utilizando la librería ggplot2.

ggsurvplot(fit = melanom.km, data = melanom, conf.int = T, title = "Curva de Supervivencia",  xlab = "Tiempo", ylab = "Probabilidad de supervivencia", legend.title = "Estimación", 
           legend.labs = "Kaplan-Meier")

2.2 ESTIMACIÓN DE LA MEDIA, MEDIANA Y PERCENTILES DE LOS TIEMPOS DE SUPERVIVENCIA

En R la estimación se realiza con la función print() usando como argumento una estimación survfit.

print(melanom.km, print.rmean = TRUE)
## Call: survfit(formula = melanom.surv ~ 1, data = melanom, type = "kaplan-meier")
## 
##          n     events     *rmean *se(rmean)     median    0.95LCL    0.95UCL 
##        205         57       4125        161         NA         NA         NA 
##     * restricted mean with upper limit =  5565

Nota: En este caso, la estimación de la supervivencia media es infinita porque la curva de supervivencia no alcanza la línea del 50% antes del final del estudio.

Ahora haremos el comparativo para cuando se desee ver la relación de dos curvas.

SEX.km <- survfit(Surv(days, status==1) ~ sex, data = melanom, type = "kaplan-meier") 
SEX.km
## Call: survfit(formula = Surv(days, status == 1) ~ sex, data = melanom, 
##     type = "kaplan-meier")
## 
##         n events median 0.95LCL 0.95UCL
## sex=1 126     28     NA      NA      NA
## sex=2  79     29     NA    2388      NA
summary(SEX.km)
## Call: survfit(formula = Surv(days, status == 1) ~ sex, data = melanom, 
##     type = "kaplan-meier")
## 
##                 sex=1 
##  time n.risk n.event survival std.err lower 95% CI upper 95% CI
##   279    124       1    0.992 0.00803        0.976        1.000
##   295    123       1    0.984 0.01131        0.962        1.000
##   386    121       1    0.976 0.01384        0.949        1.000
##   469    120       1    0.968 0.01593        0.937        0.999
##   667    119       1    0.959 0.01775        0.925        0.995
##   817    118       1    0.951 0.01937        0.914        0.990
##   833    116       1    0.943 0.02087        0.903        0.985
##   858    115       1    0.935 0.02224        0.892        0.980
##   869    114       1    0.927 0.02351        0.882        0.974
##   872    113       1    0.919 0.02469        0.871        0.968
##   982    112       1    0.910 0.02580        0.861        0.962
##  1055    111       1    0.902 0.02684        0.851        0.956
##  1156    110       1    0.894 0.02782        0.841        0.950
##  1252    109       1    0.886 0.02875        0.831        0.944
##  1271    108       1    0.878 0.02963        0.821        0.938
##  1312    107       1    0.869 0.03046        0.812        0.931
##  1548    102       1    0.861 0.03134        0.802        0.924
##  1560    100       1    0.852 0.03218        0.791        0.918
##  1621     97       1    0.843 0.03303        0.781        0.911
##  1667     90       1    0.834 0.03396        0.770        0.903
##  1726     86       1    0.824 0.03493        0.759        0.896
##  1933     74       1    0.813 0.03619        0.745        0.887
##  2062     63       1    0.800 0.03785        0.729        0.878
##  2108     60       1    0.787 0.03950        0.713        0.868
##  2256     54       1    0.772 0.04137        0.695        0.858
##  2467     45       1    0.755 0.04386        0.674        0.846
##  3042     34       1    0.733 0.04787        0.645        0.833
##  3338     25       1    0.704 0.05419        0.605        0.818
## 
##                 sex=2 
##  time n.risk n.event survival std.err lower 95% CI upper 95% CI
##   185     76       1    0.987  0.0131        0.962        1.000
##   204     75       1    0.974  0.0184        0.938        1.000
##   210     74       1    0.961  0.0223        0.918        1.000
##   232     73       1    0.947  0.0256        0.898        0.999
##   426     72       1    0.934  0.0284        0.880        0.992
##   529     70       1    0.921  0.0310        0.862        0.984
##   621     69       1    0.908  0.0333        0.845        0.975
##   629     68       1    0.894  0.0354        0.827        0.966
##   659     67       1    0.881  0.0373        0.811        0.957
##   718     66       1    0.867  0.0390        0.794        0.947
##   752     65       1    0.854  0.0407        0.778        0.938
##   779     64       1    0.841  0.0422        0.762        0.928
##   793     63       1    0.827  0.0435        0.746        0.917
##   967     62       1    0.814  0.0448        0.731        0.907
##   977     61       1    0.801  0.0461        0.715        0.896
##  1041     60       1    0.787  0.0472        0.700        0.886
##  1062     59       1    0.774  0.0482        0.685        0.875
##  1075     58       1    0.761  0.0492        0.670        0.864
##  1228     57       1    0.747  0.0501        0.655        0.852
##  1435     55       1    0.734  0.0510        0.640        0.841
##  1506     53       1    0.720  0.0519        0.625        0.829
##  1516     51       1    0.706  0.0528        0.610        0.817
##  1584     50       1    0.692  0.0536        0.594        0.805
##  1690     47       1    0.677  0.0544        0.578        0.792
##  2061     32       1    0.656  0.0567        0.554        0.777
##  2103     29       1    0.633  0.0591        0.527        0.760
##  2388     25       1    0.608  0.0619        0.498        0.742
##  2565     22       1    0.580  0.0650        0.466        0.723
##  2782     21       1    0.553  0.0675        0.435        0.702

2.3 PRUEBA DE HIPÓTESIS PARA IGUALDAD DE DOS O MÁS FUNCIONES DE SUPERVIVENCIA

Para comparar si las diferencias observadas en dos curvas de supervivencia pueden ser explicadas o no por el azar, debemos realizar un test estadístico. Si no hubiese observaciones censuradas la prueba no paramétrica de suma de rangos de Wilcoxon podría ser apropiada para comparar dos muestras independientes. Como la mayoría de las veces hay datos censurados debemos utilizar otras técnicas.

Hay diversas pruebas para comparar distribuciones de supervivencia. Aquí señalaremos la prueba de logaritmo del rango (“logrank”).

Dado dos o más grupos se tener la siguiente la siguiente prueba de hipótesis:

\[H_0 : S_1(t)=S_2(t)=...=S_k(t)\text{ para todo }t \leq \tau\] \[H_1: S_i(t_0) \neq S_j(t_0)\text{ para al menos un par i,j y tiempo }t_0\]

Estas pruebas de hipótesis se realizan en R utilizando la función survdiff().

survdiff(Surv(days, status==1) ~ sex, data = melanom, rho = 0) 
## Call:
## survdiff(formula = Surv(days, status == 1) ~ sex, data = melanom, 
##     rho = 0)
## 
##         N Observed Expected (O-E)^2/E (O-E)^2/V
## sex=1 126       28     37.1      2.25      6.47
## sex=2  79       29     19.9      4.21      6.47
## 
##  Chisq= 6.5  on 1 degrees of freedom, p= 0.01

Su respectivo gráfico sería:

survfit(Surv(days, status==1) ~ sex, melanom, conf.type = "log-log") %>%
ggsurvplot(title = "Supervivencia por género ", conf.int = T, legend.title = "Género", legend.labs = c("Femenino", "Masculino"))

3. MODELO DE RIESGOS PROPORCIONALES DE COX

En las situaciones experimentales en las que deseamos estudiar la supervivencia de un conjunto de sujetos en función de un conjunto \(X = (X_1,...,X_p)\) de variables predictoras, es decir, variables que pueden afectar o caracterizar su supervivencia, es necesario establecer modelos estadísticos capaces de analizar dichas relaciones. La construcción de este tipo de modelos que depende del tiempo y de las predictoras se hace a través el análisis de las función hazard asociada \(h(t;X)\).

El modelo más habitual en esta situación es el modelo hazard proporcional que separa en dos componentes la función hazard, una correspondiente al tiempo de supervivencia y otra a las variables predictoras, de la forma siguiente:

\[h(t;X) = h(t)exp(X\beta)\]

El modelo semiparamétrico de riesgo proporcionales de Cox es realizado con la función coxph() de la paquetería survival.

3.1 PROCESAMIENTO DE LOS DATOS

Siempre con la misma base de melanoma plateamos un modelo en el que las variables predictoras serán: sex, ulc y thick. Consideremos la variable sex dado que ya pudimos ver en el análisis preliminar que se apreciaban diferencias en la supervivencia por este factos.

Para estimar correctamente el modelo de riesgos proporcionales se requiere que las variables a utilizar cumplan con ciertos requisitos dependiendo su tipo.

3.1.1 VARIABLES NOMINALES U ORDINALES

Para el uso de variables nominales u ordinales se debe codificar cada factor con un numero entero, posteriormente de leer los datos se debe indicar las variables que son Nominales u Ordinales. Este procedimiento se realiza utilizando la función factor().

melanom$sex <- factor(melanom$sex, labels = c("Masculino", "Femenino"))
melanom$ulc <- factor(melanom$ulc, labels = c("Ausente", "Presente"))
fit <- coxph(Surv(days, status==1) ~ melanom$sex, data = melanom)
fit
## Call:
## coxph(formula = Surv(days, status == 1) ~ melanom$sex, data = melanom)
## 
##                       coef exp(coef) se(coef)     z      p
## melanom$sexFemenino 0.6622    1.9390   0.2651 2.498 0.0125
## 
## Likelihood ratio test=6.15  on 1 df, p=0.01314
## n= 205, number of events= 57
fit1 <- coxph(Surv(days, status==1) ~ melanom$ulc, data = melanom)
fit1
## Call:
## coxph(formula = Surv(days, status == 1) ~ melanom$ulc, data = melanom)
## 
##                        coef exp(coef) se(coef)      z        p
## melanom$ulcPresente -1.4717    0.2295   0.2954 -4.982 6.29e-07
## 
## Likelihood ratio test=28.44  on 1 df, p=9.68e-08
## n= 205, number of events= 57

3.1.2 VARIABLES NUMÉRICAS

Para el uso de variables numéricas, no se requiere ningún formato en específico, su uso simplemente consiste en agregarla en la fórmula.

fit2 <- coxph(Surv(days, status==1) ~ thick, data = melanom)
fit2
## Call:
## coxph(formula = Surv(days, status == 1) ~ thick, data = melanom)
## 
##            coef exp(coef)  se(coef)     z        p
## thick 0.0016024 1.0016037 0.0003126 5.126 2.96e-07
## 
## Likelihood ratio test=19.19  on 1 df, p=1.186e-05
## n= 205, number of events= 57

3.2 ESTIMACIÓN DEL MODELO

Como en el modelo todas la variables resultaron estadísticamente significativas, entonces procederemos a elaborar el modelo final.

modelo = coxph(Surv(days, status==1) ~ melanom$sex + melanom$ulc + thick)
summary(modelo)
## Call:
## coxph(formula = Surv(days, status == 1) ~ melanom$sex + melanom$ulc + 
##     thick)
## 
##   n= 205, number of events= 57 
## 
##                           coef  exp(coef)   se(coef)      z Pr(>|z|)    
## melanom$sexFemenino  0.4594907  1.5832675  0.2667580  1.723  0.08498 .  
## melanom$ulcPresente -1.1668079  0.3113593  0.3114615 -3.746  0.00018 ***
## thick                0.0011345  1.0011351  0.0003794  2.990  0.00279 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                     exp(coef) exp(-coef) lower .95 upper .95
## melanom$sexFemenino    1.5833     0.6316    0.9386    2.6707
## melanom$ulcPresente    0.3114     3.2117    0.1691    0.5733
## thick                  1.0011     0.9989    1.0004    1.0019
## 
## Concordance= 0.76  (se = 0.034 )
## Likelihood ratio test= 39.39  on 3 df,   p=1e-08
## Wald test            = 37.75  on 3 df,   p=3e-08
## Score (logrank) test = 44.96  on 3 df,   p=9e-10

Proporciona una tabla que para cada variable del modelo muestra:

1. coef: Coeficiente estimado de la beta.

2. exp(coef): Exponencial elevado al coeficiente beta estimado.

3. se(coef): La desviación estándar de la estimación.

4. z: Valor del estadístico para prueba Wald de beta igual a cero.

5. p: P-valor de la prueba Wald, beta igual a cero.

Debajo de esta tabla se encuentra el resume el estadístico de la prueba de razón de verosimilitud con sus respectivos grados de libertad y o valor, el número de datos y observaciones del evento.

Como la variable sex no resultó significativa procedemos nuevamente a elaborar el modelo.

modelo1 = coxph(Surv(days, status==1) ~ melanom$ulc + thick)
summary(modelo1)
## Call:
## coxph(formula = Surv(days, status == 1) ~ melanom$ulc + thick)
## 
##   n= 205, number of events= 57 
## 
##                          coef exp(coef)  se(coef)      z Pr(>|z|)    
## melanom$ulcPresente -1.218019  0.295816  0.309086 -3.941 8.12e-05 ***
## thick                0.001140  1.001141  0.000361  3.158  0.00159 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##                     exp(coef) exp(-coef) lower .95 upper .95
## melanom$ulcPresente    0.2958     3.3805    0.1614    0.5421
## thick                  1.0011     0.9989    1.0004    1.0018
## 
## Concordance= 0.765  (se = 0.032 )
## Likelihood ratio test= 36.44  on 2 df,   p=1e-08
## Wald test            = 35.87  on 2 df,   p=2e-08
## Score (logrank) test = 42.23  on 2 df,   p=7e-10

Otra información importante, obtenida directamente a través de la salida anterior es la estimación de los riesgos relativos (a partir de los exp(coef)), con los cuales podemos decir, que la presencia de úlcera hace que la muerte tenga un riesgo de 0.29 veces más el riesgo de muerte de los que no tienen presencia de úlcera. En cuanto a la variable grosor del tumor (thick), una persona con un tamaño de grosor determinado tiene 1.001 veces el riesgo de morir en relación a una persona con tamaño de grosor menor.

3.3 VALIDACIÓN DE SUPUESTOS

El modelo de Cox hace varias suposiciones. Por lo tanto, es importante evaluar si un modelo de regresión de Cox ajustado describe adecuadamente los datos. En concreto debemos comprobar:

Suposición de riesgos proporcionales.

- Existen observaciones influyentes (o valores atípicos).

- Detectar la no linealidad de los efectos de las variables predictoras en la función hazard.

- Para verificar estas suposiciones del modelo, se utilizan diferentes tipos de residuos.

Los residuos a considerar son:

- Residuos de Schoenfeld vs time para verificar la suposición de riesgos proporcionales

- Residuos de Schoenfeld vs time para cada predictora para evaluar la no linealidad

- Desviación residual (transformación simétrica de los residuos de Martingale) para examinar observaciones influyentes

3.3.1 RIESGOS PROPORCIONALES

Utilizamos la función cox.zph() para evaluar mediante tests estadísticos la hipótesis de riesgos proporcionales, y la función ggcoxzph() para el análisis gráfico.

riesgo = cox.zph(modelo1)
riesgo
##             chisq df     p
## melanom$ulc  3.87  1 0.049
## thick        4.59  1 0.032
## GLOBAL       6.36  2 0.042
ggcoxzph(riesgo)

Dado que se violó el supuesto de riesgos proporcionales aplicaremos el modelo de Cox estratificado que también 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.

En 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 estimación del parámetro que puede presentarse cuando se viola el supuesto de riesgo proporcional.

modelofinal = coxph(Surv(days, status==1) ~ strata(melanom$ulc) + thick, data = melanom)
summary(modelofinal)
## Call:
## coxph(formula = Surv(days, status == 1) ~ strata(melanom$ulc) + 
##     thick, data = melanom)
## 
##   n= 205, number of events= 57 
## 
##            coef exp(coef)  se(coef)     z Pr(>|z|)   
## thick 0.0010770 1.0010775 0.0003608 2.985  0.00284 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##       exp(coef) exp(-coef) lower .95 upper .95
## thick     1.001     0.9989         1     1.002
## 
## Concordance= 0.662  (se = 0.038 )
## Likelihood ratio test= 7.22  on 1 df,   p=0.007
## Wald test            = 8.91  on 1 df,   p=0.003
## Score (logrank) test = 9.16  on 1 df,   p=0.002
v=cox.zph(modelofinal)
v
##        chisq df     p
## thick   2.94  1 0.086
## GLOBAL  2.94  1 0.086
ggcoxzph(v)

La verificación del supuesto de riesgos proporcionales puede efectuarse a través de un contraste de hipótesis, donde la hipótesis nula esta asociada al cumplimiento del supuesto de riesgos proporcionales. Los resultados de este contraste indican que no se viola el supuesto de riesgos proporcionales para la covariable thick, el p-valor asociado a este contraste fue de 0.08, observándose que es mayor que 0.05, con lo que no se estaría rechazando la hipótesis de riesgos proporcionales.

3.3.2 RESIDUOS

El análisis residual se lleva a cabo gráficamente con la función ggcoxdiagnostics de la librería survminer, esta función muestra los gráficos de diagnóstico de un modelo calculado con la función coxph

ggcoxdiagnostics(modelofinal, type = "deviance",
                 linear.predictions = FALSE)
## `geom_smooth()` using formula 'y ~ x'

4. BIBLIOGRAFÍA

1. Elisa Lee, John Wenyu Wang (2003), Statistical Methods for Survival Data Analysis. Wiley third edition.

2. David Kleinbaum, Mitchel Klein (2012), Survival Analysis. A Self-Learning Text. Springer.

3. Stanton Glantz (2005), Bioestadística. McGraw Hill.

4. P.K. Andersen, Ø. Borgan, R.D. Gill, and N. Keiding (1991), Statistical Models Based on Counting Processes, Appendix 1, Springer-Verlag.