Estimación de la función de supervivencia \(S(t)\) con el estimador de Kaplan Meier
Ejemplo: La información de 12 personas acerca de la duración en su primer empleo se presenta a continuación (3 personas declararon permanecer en su primer empleo)
Tiempo en el 1er. empleo
1
0.4
2
0.9
3
1.1
4
1.9
5
2.0
6
3.3
7
5.3
8
5.8
9
14.0
Tiempo en el primer empleo (aún permanecen trabajando en el primer empleo)
Cálculo Manual
1
0.4
12
1
\(1-\frac{1}{12}=\frac{11}{12}\)
\(\frac{11}{12}=\) 0.917
\(\exp{[-(\frac{1}{12})]}=\) 0.920
2
0.9
11
1
\(1-\frac{1}{11}=\frac{10}{11}\)
\(\frac{11}{12}\frac{10}{11}=\frac{10}{12}=\frac{5}{6}=\) 0.833
\(\exp{-[(\frac{1}{12}+\frac{1}{11})]}=\) 0.840
3
1.1
10
1
\(1-\frac{1}{10}=\frac{9}{10}\)
\(\frac{9}{10}\frac{10}{12}=\frac{9}{12}=\frac{3}{4}=\) 0.750
\(\exp{-[(\frac{1}{12}+\frac{1}{11}+\frac{1}{10})]}=\) 0.760
4
1.5+
9
0
\(\bf{1-\frac{0}{9}=1}\)
\(\bf{\frac{3}{4}*1}\) =0.750
\(\bf{\exp{-[(\frac{1}{12}+\frac{1}{11}+\frac{1}{10}+0)]}=}\) 0.760
5
1.9
8
1
\(1-\frac{1}{8}=\frac{7}{8}\)
\(\frac{3}{4}\frac{7}{8}=\frac{21}{32}=\) 0.656
\(\exp{[-(\frac{1}{12}+\frac{1}{11}+\frac{1}{10}+\frac{1}{8})]}=\) 0.671
6
2.0
7
1
\(1-\frac{1}{7}=\frac{6}{7}\)
\(\frac{21}{32}\frac{6}{7}=\frac{9}{16}=\) 0.562
\(\exp{[-(\frac{1}{12}+\frac{1}{11}+\frac{1}{10}+\frac{1}{8}+\frac{1}{7})]}=\) 0.582
7
3.0+
6
0
\(\bf{1-\frac{0}{6}=1}\)
\(\bf{\frac{9}{16}*1=}\) 0.562
\(\bf{\exp{[-(\frac{1}{12}+\frac{1}{11}+\frac{1}{10}+\frac{1}{8}+\frac{1}{7}+0)]}=}\) 0.582
8
3.3
5
1
\(1-\frac{1}{5}=\frac{4}{5}\)
\(\frac{9}{16}\frac{4}{5}=\frac{9}{20}=\) 0.450
\(\exp{[-(\frac{1}{12}+\frac{1}{11}+\frac{1}{10}+\frac{1}{8}+\frac{1}{7}+\frac{1}{5})]}=\) 0.476
9
5.3
4
1
\(1-\frac{1}{4}=\frac{3}{4}\)
\(\frac{9}{20}\frac{3}{4}=\frac{27}{80}=\) 0.338
\(\exp{[-(\frac{1}{12}+\frac{1}{11}+\frac{1}{10}+\frac{1}{8}+\frac{1}{7}+\frac{1}{5}+\frac{1}{4})]}=\) 0.371
10
5.8
3
1
\(1-\frac{1}{3}=\frac{2}{3}\)
\(\frac{27}{80}\frac{2}{3}=\frac{9}{40}=\) 0.225
\(\exp{[-(\frac{1}{12}+\frac{1}{11}+\frac{1}{10}+\frac{1}{8}+\frac{1}{7}+\frac{1}{5}+\frac{1}{4}+\frac{1}{3})]}=\) 0.266
11
6.2+
2
1
\(\bf{1-\frac{0}{2}=1}\)
\(\bf{\frac{9}{40}*1=}\) 0.225
\(\bf{\exp{[-(\frac{1}{12}+\frac{1}{11}+\frac{1}{10}+\frac{1}{8}+\frac{1}{7}+\frac{1}{5}+\frac{1}{4}+\frac{1}{3}+0)]}=}\) 0.098
12
14.0
1
1
\(1-\frac{1}{1}=0\)
\(\frac{9}{40}*0=\) 0.000
\(\exp{[-(\frac{1}{12}+\frac{1}{11}+\frac{1}{10}+\frac{1}{8}+\frac{1}{7}+\frac{1}{5}+\frac{1}{4}+\frac{1}{3}+\frac{1}{1})]}=\) 0.098
Usando la paquetería survival de R
library (survival)
library (survminer)
time<- c (1.5 ,3.0 ,6.2 ,0.4 ,0.9 ,1.1 ,1.9 ,2.0 ,3.3 ,5.3 ,5.8 ,14 )
cc<- c (0 ,0 ,0 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 )
Primer_empleo_plain<-
surv_summary (survfit (Surv (time,cc)~ 1 , conf.type= "plain" ,conf.int= 0.95 ))
Primer_empleo_log<-
surv_summary (survfit (Surv (time,cc)~ 1 , conf.type= "log-log" ,conf.int= 0.95 ))
knitr:: kable (Primer_empleo_plain, caption = "Intervalos simples" , digits = 3 )
Intervalos simples
0.4
12
1
0
0.917
0.087
1.000
0.760
0.9
11
1
0
0.833
0.129
1.000
0.622
1.1
10
1
0
0.750
0.167
0.995
0.505
1.5
9
0
1
0.750
0.167
0.995
0.505
1.9
8
1
0
0.656
0.214
0.931
0.381
2.0
7
1
0
0.562
0.264
0.853
0.272
3.0
6
0
1
0.562
0.264
0.853
0.272
3.3
5
1
0
0.450
0.346
0.755
0.145
5.3
4
1
0
0.338
0.450
0.635
0.040
5.8
3
1
0
0.225
0.608
0.493
0.000
6.2
2
0
1
0.225
0.608
0.493
0.000
14.0
1
1
0
0.000
Inf
NaN
NaN
knitr:: kable (Primer_empleo_log, caption = "Intervalos transformados" , digits = 3 )
Intervalos transformados
0.4
12
1
0
0.917
0.087
0.988
0.539
0.9
11
1
0
0.833
0.129
0.956
0.482
1.1
10
1
0
0.750
0.167
0.912
0.408
1.5
9
0
1
0.750
0.167
0.912
0.408
1.9
8
1
0
0.656
0.214
0.856
0.320
2.0
7
1
0
0.562
0.264
0.791
0.244
3.0
6
0
1
0.562
0.264
0.791
0.244
3.3
5
1
0
0.450
0.346
0.710
0.155
5.3
4
1
0
0.338
0.450
0.618
0.086
5.8
3
1
0
0.225
0.608
0.511
0.036
6.2
2
0
1
0.225
0.608
0.511
0.036
14.0
1
1
0
0.000
Inf
NA
NA
ggsurvplot (Primer_empleo_plain, conf.int = FALSE )+ ggtitle ("S(t) Kaplan Meier" )
ggsurvplot (Primer_empleo_plain, conf.int = TRUE )+ ggtitle ("S(t) Kaplan Meier, IC simples" )
ggsurvplot (Primer_empleo_log, conf.int = TRUE )+ ggtitle ("S(t) Kaplan Meier, IC log-transformados" )
El estimador de Nelson-Aalen
Primer_empleo_log_NA<-
surv_summary (survfit (Surv (time,cc)~ 1 , , type= "fleming-harrington" , conf.type= "log-log" ,conf.int= 0.95 ))
knitr:: kable (Primer_empleo_log_NA, caption = "Intervalos transformados" , digits = 3 )
Intervalos transformados
0.4
12
1
0
0.920
0.083
0.988
0.553
0.9
11
1
0
0.840
0.123
0.957
0.498
1.1
10
1
0
0.760
0.159
0.916
0.426
1.5
9
0
1
0.760
0.159
0.916
0.426
1.9
8
1
0
0.671
0.202
0.862
0.341
2.0
7
1
0
0.582
0.247
0.801
0.265
3.0
6
0
1
0.582
0.247
0.801
0.265
3.3
5
1
0
0.476
0.318
0.726
0.179
5.3
4
1
0
0.371
0.405
0.640
0.110
5.8
3
1
0
0.266
0.524
0.543
0.056
6.2
2
0
1
0.266
0.524
0.543
0.056
14.0
1
1
0
0.098
1.129
0.407
0.002
ggsurvplot (Primer_empleo_log_NA, conf.int = FALSE )+ ggtitle ("S(t) Nelson-Aalen" )
ggsurvplot (Primer_empleo_log_NA, conf.int = TRUE )+ ggtitle ("S(t) Nelson-Aalen, IC simples" )
ggsurvplot (Primer_empleo_log_NA, conf.int = TRUE )+ ggtitle ("S(t) Nelson-Aalen, IC log-transformados" )