1 Formas de Expresar el Pronóstico

1.1 Tutorial práctico con Excel y R basado

Objetivo general:
Comprender y aplicar las principales formas de expresar el pronóstico, incluyendo la supervivencia a 5 años, el método actuarial (tablas de vida), el método de Kaplan-Meier, la mediana de supervivencia y la supervivencia relativa.


2 Introducción

El pronóstico describe la probabilidad de que ocurra un desenlace futuro en personas con una enfermedad determinada. En epidemiología clínica, el pronóstico suele expresarse mediante:

  • Supervivencia
  • Mortalidad
  • Tiempo libre de enfermedad
  • Recaída
  • Curación

El análisis de supervivencia permite estudiar no solamente si ocurre un evento, sino también cuándo ocurre.

El pronóstico es una predicción del curso futuro de una enfermedad tras su inicio. Su cuantificación es vital para establecer prioridades clínicas y comparar la eficacia de distintas terapias.


3 Conceptos fundamentales

3.1 Evento de interés

Es el desenlace que se desea estudiar.

Ejemplos:

  • Muerte
  • Recaída
  • Alta hospitalaria
  • Complicación

3.2 Tiempo de supervivencia

Tiempo desde:

  • Diagnóstico
  • Inicio del tratamiento
  • Reclutamiento

hasta:

  • Ocurrencia del evento
  • Fin del seguimiento

3.3 Datos censurados

Un individuo es censurado cuando:

  • No presenta el evento durante el seguimiento
  • Se pierde durante el estudio
  • El estudio termina antes del evento

Censura no significa pérdida de información total. Significa que sabemos que el paciente estuvo vivo y libre del evento hasta el día X, pero después de ese día, ya no podemos asegurar qué pasó. Censurar es reconocer que el paciente aportó tiempo de bienestar al estudio.


4 Medidas para expresar el pronóstico

4.1 Supervivencia a cinco años

Es el porcentaje de pacientes que siguen vivos 5 años después del inicio del tratamiento o del diagnóstico.

  • Limitaciones: No refleja qué ocurrió durante esos 5 años (por ejemplo, si la mayoría murió en el primer año o en el cuarto).

  • Sesgo por adelanto (Lead-time bias): El cribado puede detectar la enfermedad antes, aumentando la supervivencia aparente sin retrasar realmente el momento de la muerte.

4.2 Supervivencia observada (Tabla de vida actuarial)

La proporción de individuos vivos después de un tiempo determinad; es decir que utiliza la supervivencia real de los pacientes seguidos en el tiempo.

  • Método Actuarial: Agrupa los datos en intervalos fijos (ej. anuales). Es útil cuando no se conoce el momento exacto del evento, sino el intervalo en que ocurrió.

  • Suposición clave: Se asume que no ha habido cambios en la eficacia del tratamiento durante el periodo de estudio.

4.2.1 Fórmula

\[ \text{Supervivencia observada} = \frac{\text{Número de personas vivas}}{\text{Número inicial de personas}} \]


4.3 Tasa de supervivencia acumulada

Expresa la probabilidad acumulada de sobrevivir durante varios intervalos.


4.4 Método de Kaplan-Meier

A diferencia del actuarial, no usa intervalos predeterminados. El intervalo termina cada vez que ocurre un evento (muerte), lo que permite usar el punto exacto en el tiempo. Es el estándar actual en publicaciones científicas.


4.5 Mediana de supervivencia

Es el tiempo en el cual la mitad (50%) de la cohorte de estudio ha experimentado el evento de interés. Se prefiere sobre la media porque los tiempos de supervivencia no suelen seguir una distribución normal y la media puede verse afectada por valores extremos.


4.6 Supervivencia relativa

Es el cociente entre la supervivencia observada en los pacientes y la supervivencia esperada si hubieran tenido la misma experiencia de mortalidad que la población general (ajustada por edad, sexo, etc.). Esto permite aislar el efecto de la enfermedad específica frente a otras causas de muerte.


5 Tablas de vida actuarial en Excel

El objetivo de esta sección es construir una tabla de vida actuarial en una hoja de cálculo, aplicando los ajustes por pérdidas de seguimiento para obtener la supervivencia acumulada real.

Si un paciente es censurado porque se mudó de ciudad y no pudimos contactarlo, ¿podría ser que se mudó porque se sentía mejor o porque estaba tan grave que buscó otra opción? ¿Cómo afectaría esto a nuestra curva si todos los que se pierden en realidad hubieran muerto?

5.1 Preparación de la Estructura

En una hoja de Excel nueva, configure los encabezados en la primera fila (A1 hasta H1) de la siguiente manera:

Celda Encabezado
A1 Año (\(x\))
B1 Vivos al inicio (\(l_x\))
C1 Muertos (\(d_x\))
D1 Perdidos (\(w_x\))
E1 Número Efectivo en Riesgo (\(l'_x\))
F1 Prop. que falleció (\(q_x\))
G1 Prop. que sobrevivió (\(p_x\))
H1 Supervivencia Acumulada (\(P_x\))

5.2 Entrada de Datos Brutos

Ingrese los datos observados en las columnas correspondientes:

Año (\(x\)) Vivos (\(l_x\)) Muertos (\(d_x\)) Perdidos (\(w_x\))
1 375 178 0
2 197 83 43
3 71 19 16
4 36 7 13
5 16 2 6

5.3 Aplicación de Fórmulas

Colóquese en la fila 2 e ingrese las siguientes fórmulas. Luego, arrástrelas hacia abajo hasta la fila 6.

5.3.1 A. Calcular el Número Efectivo en Riesgo (\(l'_x\))

En la celda E2, reste la mitad de los perdidos al total de vivos:

=B2 - (0.5 * D2)

¿Por qué multiplicamos por 0.5? Porque asumimos que, en promedio, las personas que se perdieron durante el año, lo hicieron a la mitad del mismo. Así, les damos el crédito de haber sobrevivido medio año antes de desaparecer del radar.

5.3.2 B. Calcular la Proporción que falleció (\(q_x\))

En la celda F2, divida los muertos entre el número efectivo:

=C2 / E2

5.3.3 C. Calcular la Proporción de Supervivencia del Intervalo (\(p_x\))

En la celda G2, reste la proporción de fallecidos a la unidad:

=1 - F2

5.3.4 D. Calcular la Supervivencia Acumulada (\(P_x\))

5.3.4.1 Para el Año 1 (Celda H2)

Es igual a la supervivencia del primer intervalo:

=G2

5.3.4.2 Para los Años siguientes (Celda H3 en adelante)

Multiplique la acumulada anterior por la supervivencia actual:

=H2 * G3

5.4 Tabla de Resultados Esperados

Si los cálculos son correctos, su tabla final en Excel debería verse así (valores redondeados):

Año \(l_x\) \(d_x\) \(w_x\) \(l'_x\) \(q_x\) \(p_x\) \(P_x\) (Acumulada)
1 375 178 0 375.0 0.475 0.525 0.525
2 197 83 43 175.5 0.473 0.527 0.277
3 71 19 16 63.0 0.302 0.698 0.193
4 36 7 13 29.5 0.237 0.763 0.147
5 16 2 6 13.0 0.154 0.846 0.124

6 Tabla de vida en R

El análisis de supervivencia también puede realizarse fácilmente en R, permitiendo automatizar cálculos y reproducir resultados de manera precisa. En esta sección se construirá la misma tabla de vida actuarial desarrollada previamente en Excel.

6.1 Preparación del Entorno

Abra R o RStudio y cree un nuevo script. No es necesario instalar paquetes adicionales para este ejemplo, ya que utilizaremos únicamente funciones básicas de R.

6.2 Creación del Conjunto de Datos

Ingrese los datos observados de la cohorte utilizando vectores y construya un data.frame.

# Crear vectores con los datos observados
anio <- 1:5
lx <- c(375, 197, 71, 36, 16)
dx <- c(178, 83, 19, 7, 2)
wx <- c(0, 43, 16, 13, 6)

# Construir la base de datos
tabla_vida <- data.frame(
  Anio = anio,
  Vivos = lx,
  Muertos = dx,
  Perdidos = wx
)

# Mostrar la tabla inicial
tabla_vida
##   Anio Vivos Muertos Perdidos
## 1    1   375     178        0
## 2    2   197      83       43
## 3    3    71      19       16
## 4    4    36       7       13
## 5    5    16       2        6

6.3 Calcular el Número Efectivo en Riesgo (\(l'_x\))

El método actuarial ajusta el denominador restando la mitad de los sujetos perdidos durante el intervalo.

tabla_vida$Riesgo_Efectivo <- tabla_vida$Vivos - (0.5 * tabla_vida$Perdidos)

La fórmula aplicada es:

\[ l'_x = l_x - \left(\frac{1}{2}\right)w_x \]

6.4 Calcular la Proporción que Falleció (\(q_x\))

Se divide el número de fallecidos entre el número efectivo en riesgo.

tabla_vida$qx <- tabla_vida$Muertos / tabla_vida$Riesgo_Efectivo

La fórmula utilizada es:

\[ q_x = \frac{d_x}{l'_x} \]

6.5 Calcular la Proporción de Supervivencia (\(p_x\))

La probabilidad de supervivencia del intervalo corresponde a:

tabla_vida$px <- 1 - tabla_vida$qx

La expresión matemática es:

\[ p_x = 1 - q_x \]

6.6 Calcular la Supervivencia Acumulada (\(P_x\))

La supervivencia acumulada se obtiene multiplicando sucesivamente las probabilidades de supervivencia de cada intervalo.

En R, esto puede hacerse fácilmente utilizando la función cumprod().

tabla_vida$Px_acumulada <- cumprod(tabla_vida$px)

La lógica matemática es:

\[ P_x = P_{x-1} \times p_x \]

6.7 Redondear Resultados

Para mejorar la presentación de los resultados, redondee los valores decimales.

tabla_vida$qx <- round(tabla_vida$qx, 3)
tabla_vida$px <- 1 - tabla_vida$qx
tabla_vida$px <- round(tabla_vida$px, 3)
tabla_vida$Px_acumulada <- cumprod(tabla_vida$px)
tabla_vida$Px_acumulada <- round(tabla_vida$Px_acumulada, 3)
tabla_vida$Riesgo_Efectivo <- round(tabla_vida$Riesgo_Efectivo, 1)

6.8 Mostrar la Tabla Final

Finalmente, visualice la tabla actuarial completa.

tabla_vida
##   Anio Vivos Muertos Perdidos Riesgo_Efectivo    qx    px Px_acumulada
## 1    1   375     178        0           375.0 0.475 0.525        0.525
## 2    2   197      83       43           175.5 0.473 0.527        0.277
## 3    3    71      19       16            63.0 0.302 0.698        0.193
## 4    4    36       7       13            29.5 0.237 0.763        0.147
## 5    5    16       2        6            13.0 0.154 0.846        0.125

6.9 Resultados Esperados

La salida en R debería verse aproximadamente así:

Año Vivos Muertos Perdidos Riesgo_Efectivo qx px Px_acumulada
1 375 178 0 375.0 0.475 0.525 0.525
2 197 83 43 175.5 0.473 0.527 0.277
3 71 19 16 63.0 0.302 0.698 0.193
4 36 7 13 29.5 0.237 0.763 0.147
5 16 2 6 13.0 0.154 0.846 0.124

6.10 Interpretación

El análisis actuarial muestra que la supervivencia acumulada disminuye progresivamente a lo largo de los cinco años de seguimiento.

Al finalizar el período, la probabilidad acumulada de supervivencia es:

\[ P_5 = 0.124 \]

Esto significa que aproximadamente el 12,4% de la cohorte original permanece viva al final del quinto año de observación.

7 Análisis de Supervivencia: Método de Kaplan-Meier

7.1 Fundamentación Teórica

El Método de Kaplan-Meier, también conocido como el método de “límite de producto”, permite calcular la probabilidad de supervivencia en cohortes donde los eventos ocurren en momentos específicos del tiempo. A diferencia del método actuarial, no utiliza intervalos predefinidos.

La fórmula del estimador de Kaplan-Meier es:

\[S(t) = \prod_{t_i \le t} \left( 1 - \frac{d_i}{n_i} \right)\]

Donde:

  • \(S(t)\): es la probabilidad de sobrevivir más allá del tiempo \(t\).
  • \(d_i\): número de muertes (eventos) en el tiempo \(t_i\).
  • \(n_i\): número de personas vivas y en riesgo justo antes del tiempo \(t_i\).
  • \(\prod\): representa el producto acumulado de las probabilidades calculadas en cada punto donde hubo una muerte.

7.2 Desarrollo en Excel (Paso a Paso)

El objetivo de esta sección es reproducir la Tabla 6.10 de Gordis utilizando el método de Kaplan-Meier en Excel, calculando manualmente la supervivencia acumulada en cada tiempo donde ocurre una muerte.


7.2.1 Comprender la Lógica del Método Kaplan-Meier

A diferencia de la tabla actuarial, el método Kaplan-Meier:

  • Utiliza el momento exacto en que ocurre cada muerte.
  • Actualiza la supervivencia únicamente cuando sucede un evento.
  • Trata a los pacientes censurados como individuos que abandonan el estudio después de aportar tiempo de seguimiento.

La supervivencia acumulada se calcula mediante:

\[ S(t) = \prod \left(\frac{n_i - d_i}{n_i}\right) \]

Donde:

  • \(n_i\) = número de personas en riesgo justo antes del tiempo \(t_i\)
  • \(d_i\) = número de muertes en el tiempo \(t_i\)

7.2.2 Ingreso de los Datos Originales

En una hoja nueva de Excel, ingrese los datos individuales de seguimiento.

7.3 Estructura Inicial

Columna Contenido
A Tiempo de seguimiento (meses)
B Estado
C Observación

7.4 Codificación del Estado

  • 1 = muerte
  • 0 = censura

7.5 Ejemplo de Datos

Tiempo Estado Observación
4 1 Murió
10 1 Murió
14 1 Murió
24 1 Murió
6 0 Censurado
18 0 Censurado

7.5.1 Construcción de la Tabla Kaplan-Meier

Ahora cree una segunda tabla resumen similar a la Tabla 6.10 de Gordis.

7.6 Encabezados Recomendados

Columna Encabezado
E Tiempo de muerte
F Número vivo en riesgo (\(n_i\))
G Número que murió (\(d_i\))
H Proporción que murió
I Proporción que sobrevivió
J Supervivencia acumulada

7.6.1 Registrar los Tiempos Donde Ocurrieron Muertes

En la columna E coloque únicamente los tiempos donde ocurrió una muerte.

E
4
10
14
24

7.6.2 Calcular el Número en Riesgo (\(n_i\))

El número en riesgo corresponde a todos los pacientes que permanecen bajo seguimiento inmediatamente antes de cada muerte.

7.7 Fórmula en Excel

En F2:

=COUNTIF($A$2:$A$7,">="&E2)

Luego arrastre la fórmula hacia abajo.

7.8 Resultado Esperado

Tiempo En riesgo (\(n_i\))
4 6
10 4
14 3
24 1

7.8.1 Calcular el Número de Muertes (\(d_i\))

En este ejemplo ocurre una muerte en cada tiempo.

En G2:

=COUNTIFS($A$2:$A$7,E2,$B$2:$B$7,1)

Arrastre hacia abajo.

7.9 Resultado Esperado

Tiempo Muertes (\(d_i\))
4 1
10 1
14 1
24 1

7.9.1 Calcular la Proporción que Murió

La proporción que murió se calcula mediante:

\[ \frac{d_i}{n_i} \]

En H2:

=G2/F2

Arrastre hacia abajo.

7.10 Resultado Esperado

Tiempo Proporción que murió
4 0.167
10 0.250
14 0.333
24 1.000

7.10.1 Calcular la Proporción que Sobrevivió

La probabilidad de sobrevivir en cada intervalo es:

\[ 1 - \frac{d_i}{n_i} \]

En I2:

=1-H2

Arrastre hacia abajo.

7.11 Resultado Esperado

Tiempo Proporción que sobrevivió
4 0.833
10 0.750
14 0.667
24 0.000

7.11.1 Calcular la Supervivencia Acumulada

La supervivencia acumulada se obtiene multiplicando las probabilidades de supervivencia sucesivas.


7.12 Primer Intervalo

En J2:

=I2

7.13 Intervalos Siguientes

En J3:

=J2*I3

Arrastre hacia abajo.


7.13.1 Resultados Esperados (Tabla 6.10 de Gordis)

La tabla final debería verse así:

Tiempo \(n_i\) \(d_i\) Proporción que murió Proporción que sobrevivió Supervivencia acumulada
4 6 1 0.167 0.833 0.833
10 4 1 0.250 0.750 0.625
14 3 1 0.333 0.667 0.417
24 1 1 1.000 0.000 0.000

7.13.2 Interpretación

La curva Kaplan-Meier muestra cómo disminuye progresivamente la probabilidad de supervivencia a medida que ocurren las muertes.

Por ejemplo:

  • Después de 10 meses, la supervivencia acumulada es:

\[ 0.833 \times 0.750 = 0.625 \]

Esto significa que aproximadamente el 62,5% de la cohorte permanece viva después de 10 meses de seguimiento.


7.14 Desarrollo en R

A continuación, se presenta el código para procesar estos datos. Este bloque debe ser ejecutado en RStudio para generar la tabla y la figura.

# Definir paquetes
paquetes <- c("survival", "survminer", "knitr", "kableExtra")

# Instalación condicional especificando el repositorio (Mirror)
faltantes <- paquetes[!(paquetes %in% installed.packages()[,"Package"])]
if(length(faltantes)) {
  install.packages(faltantes, repos = "[https://cloud.r-project.org](https://cloud.r-project.org)")
}
# 4. Cargar librerías
library(survival)
library(survminer)
library(knitr)
library(kableExtra)

# 5. Crear dataset basado en el ejemplo de Gordis (Tabla 6.10)
# Se asume una cohorte de 10 pacientes con muertes y censuras (+).
datos_km <- data.frame(
  id = 1:10,
  tiempo = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
  estado = c(1, 0, 1, 1, 0, 1, 1, 0, 1, 1) # 1: muerte, 0: censura
)

# 6. Crear el objeto de supervivencia
# R marca automáticamente los datos censurados (estado = 0)
obj_surv <- Surv(time = datos_km$tiempo, event = datos_km$estado)

# 7. Ajustar el modelo de Kaplan-Meier
fit_km <- survfit(obj_surv ~ 1)

# 8. Mostrar la tabla de supervivencia (Equivalente a Tabla 6.10)
summary(fit_km)
## Call: survfit(formula = obj_surv ~ 1)
## 
##  time n.risk n.event survival std.err lower 95% CI upper 95% CI
##     1     10       1    0.900  0.0949       0.7320        1.000
##     3      8       1    0.787  0.1340       0.5641        1.000
##     4      7       1    0.675  0.1551       0.4303        1.000
##     6      5       1    0.540  0.1731       0.2881        1.000
##     7      4       1    0.405  0.1747       0.1739        0.943
##     9      2       1    0.202  0.1677       0.0399        1.000
##    10      1       1    0.000     NaN           NA           NA

7.14.1 Visualización de la Curva de Supervivencia

El siguiente código genera la figura estándar utilizada en publicaciones médicas para expresar el pronóstico:

ggsurvplot(
  fit_km, 
  data = datos_km,
  conf.int = TRUE,
  surv.median.line = "hv",
  risk.table = TRUE,
  # AÑADE ESTO:
  censor = TRUE,                # Asegura que se vean las marcas
  censor.shape = "|",           # Usa una línea vertical o cruz (+) para identificar censuras
  censor.size = 5,
  xlab = "Meses de seguimiento",
  ylab = "Probabilidad de Supervivencia",
  title = "Curva de Kaplan-Meier: Identificando las Censuras",
  ggtheme = theme_light()
)
## Ignoring unknown labels:
## • fill : "Strata"
## Ignoring unknown labels:
## • fill : "Strata"
## Ignoring unknown labels:
## • fill : "Strata"
## Ignoring unknown labels:
## • fill : "Strata"
## Ignoring unknown labels:
## • colour : "Strata"

7.14.2 Interpretación de Resultados

  1. Mediana de supervivencia: Es el tiempo \(t\) donde \(S(t) = 0.5\). Gráficamente, es donde la línea punteada cruza el eje X.
  2. Censura: Observa que en el tiempo \(t=2\) hubo una censura. En la tabla de R (summary), notarás que el número en riesgo disminuye para el siguiente evento, pero no se calcula un escalón de descenso en la curva en ese punto exacto.
  3. Pendiente: Los descensos verticales indican los momentos de mayor mortalidad en la cohorte analizada.