Ambas las frecuencias y los porcentajes en la tabla se están escalando en la llamada ggsurvplot()
, cuando se utiliza el argumento weights = frequency
en la llamada a survfit()
. Esto también sucede cuando se traza una curva de supervivencia, en lugar de la curva de eventos como se ha trazado.
Esto es un error y debería ser reportado a los autores de survminer en github. Aquí hay un ejemplo reproducible, utilizando el conjunto de datos de cáncer de pulmón del paquete survival::
.
library(survival)
library(survminer)
data(lung)
f0 <- survfit(Surv(time, status) ~ 1, data = lung)
ggsurvplot(f0, ylab = " ", risk.table = "abs_pct", fun = "event" )
# Esto da como resultado el gráfico, que se ve bien.
# Ahora ajusta el código de ejemplo para que cada línea represente diez personas:
lung2 <- lung
lung2$freq <- 10
f1 <- survfit(Surv(time, status) ~ 1, weights=freq, data = lung2)
ggsurvplot(f1, risk.table = "abs_pct", fun = "event" )
# Gráfico resultante... debido a que la primera n no se imprime completamente, pero es n=2280 (228 x 10)
# pero no quería sobrecargar el código ajustando el tamaño de la fuente.
Esto indica claramente que no solo las frecuencias están siendo escaladas en la tabla por un factor de diez (¡bien!) sino también los porcentajes (¡no tan bien!).