Skip to content

[R-es] Gráfico tiempos de supervivencia

2 messages · Francisco Viciana, Griera

#
Hola, aunque con un poco de retraso, hago una aportación a este hilo:

Si tienes un problema con dos escalas de tiempo sobre las que 
evolucionan las lineas de seguimiento, creo que es mejor que hacer un 
solo gráfico en forma de   diagrama de Lexis, que dos gráficos 
independientes. Muestro ejemplo usando el paquete "Epi":

# Código ----------------------------------------------------

#---- Generar Datos ----
rm(list = ls())
set.seed(20)
XTIEMPO_2 = c(38, 2, 34, 29, 30, 3, 14, 8, 18, 31) # Per fe el gràfic 
amb t=0
set.seed(30)
XTIEMPO_0 = sample(1:40, 10, replace=F)
XTIEMPO_F = XTIEMPO_0 + XTIEMPO_2
set.seed(20)
XDEF = as.factor(sample(c("Mort", "Viu"), 10, replace=T))

DATOS <- data.frame (
   ID         = c (1:10)
   , TIEMPO_0 = XTIEMPO_0
   , TIEMPO_F = XTIEMPO_F
   , TIEMPO_2 = XTIEMPO_2 # Per fe el gràfic amb t=0
   , DEF      = XDEF
)


names(DATOS)[2:5] <- c('marriage.age',
                        'output.age',
                        'duration','output')

DATOS$output <- factor(DATOS$output,levels = c('Casado','Viu','Mort'))
DATOS$entry  <- factor('Casado',levels = c('Casado','Viu','Mort'))

# Crea objeto Lexis:
library(Epi)
lx.Datos <- Lexis( entry=list(antiguedad.del.matrimonio=0,
                                edad=marriage.age),
                     exit=list(edad=output.age),
                     entry.status = entry ,
                     exit.status = output ,id=ID,data=DATOS,merge=F)

#----  Muestra datos originales y transformados
DATOS
lx.Datos

#---- Grafica: ----

plot.Lexis(lx.Datos,time.scale = 1:2,col='blue')
with(lx.Datos, points(x=lex.dur,y=edad+lex.dur,
pch=c(NA,19,3)[as.integer(lex.Xst)],
                       col=1 ))
grid()
legend('bottomright',legend = levels(lx.Datos$lex.Xst)[-1],
        pch=c(19,3),col=1)

## ----------------------------------------------
On 19/7/19 15:03, Griera wrote:
#
Hola Francisco:

Muchas gracias por este refinamiento. 

Tienes razón, el gráfico de Lexis representa mucho mejor los datos. 

Y gracias por el código. Lo guardo también para el futuro.

Saludos


On Thu, 8 Aug 2019 09:42:50 +0200
Francisco Viciana <franciscoj.viciana en juntadeandalucia.es> wrote: