La función que se creo para graficar la funciones de supervivencia toma como parametros: El nombre del data.frame donde se debe de seleccionar la columna de escala de tiempo a evaluar y la colummna donde nos de un indicador 0 si no se presento censura y 1 si se presento la falla del evento estudiado, Y tambíen la función toma como parametro el tamaño de la poblacion a evaluar. Cabe resaltar que como manejamos datos muy extentos como el número de población para cada base a n=30 o n=26 según sea el caso.

library(survival)
library(KMsurv)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)

grafico<- function(n,m){
 
  ggplot(m)+
  geom_point(aes(x = 1:n, 
                 y = m[,1], 
                 shape = m[,2] %>% as.factor(),
                 colour = m[,2] %>% as.factor()),
                 size = 3)+
  geom_linerange(aes(x = 1:n,
                     ymin = 0,
                     ymax = m[,1]),
                    linetype = "dashed")+
    labs(x = "Observaciones",
         y = "Tiempo",
         shape = "Ocurrencia del evento",
         colour = "Ocurrencia del evento")+
  coord_cartesian(ylim = c(0, max(m[1,])+5))+
  coord_flip()+theme_get()

}

Ahora veamos las tres bases de datos utilizadas para esta practica:

1

El primer data.frame en ser usado es ā€œHR_comma_sep.csvā€, donde nos muestra el comportamiento de los trabajadores con respecto a la empresa donde laboran

n1<-30
hr<- read.csv("HR_comma_sep.csv")
a<-Surv(hr$time_spend_company, hr$left)
print(a[1:30])
##  [1] 3 6 4 5 3 3 4 5 5 3 3 4 5 3 3 3 3 6 3 5 4 3 4 3 3 5 5 3 3 3
set.seed(123)
m1 <- hr %>% 
  select(time_spend_company, left) %>% 
  sample_n(n1)

grafico(n1,m1)
## Coordinate system already present. Adding new coordinate system, which will replace the existing one.

Ahora veamos tres ejemplos con la base de datos anterior:

1.- Podemos ver que de las 30 personas sometidas a la evaluación, la persona número 5 decidio renunciar entre el periodo 5 y 7 por lo cual vemos que se trata de una censura de intervalos, debido a que no sabemos con ciencia exacta en que momento sucedio debido a que manejamos una escala discreta en el tiempo.

2.- La persona número 13 esta censurada debido a que no renuncio en el periodo de evaluación, los cual nos indica que es una censura por la derecha tipo 1

3.- El complemento de la población observada es decir todas las personas menos la 5 y 14, presentaron una censura aleatoria debido a que por causas desconocidad dejaron el estudio si haber renunciado.

2

El segundo data.frame en usarse es ā€œgenfanā€, donde es un estudio de 70 ventiladores a disel, donde la escala de tiempo son las horas de servicio y la calomna de status nos dice con 0 si es censurado el dato y con 1 si se presenta una falla. Por motivos practicos tomaremos n=30

n2<-30
data("genfan")
## Warning in data("genfan"): data set 'genfan' not found
gf<-data.frame(genfan)
Surv(gf$hours, gf$status)
##  [1]   450    460+  1150   1150   1560+  1600   1660+  1850+  1850+  1850+
## [11]  1850+  1850+  2030+  2030+  2030+  2070   2070   2080   2200+  3000+
## [21]  3000+  3000+  3000+  3100   3200+  3450   3750+  3750+  4150+  4150+
## [31]  4150+  4150+  4300+  4300+  4300+  4300+  4600   4850+  4850+  4850+
## [41]  4850+  5000+  5000+  5000+  6100+  6100   6100+  6100+  6300+  6450+
## [51]  6450+  6700+  7450+  7800+  7800+  8100+  8100+  8200+  8500+  8500+
## [61]  8500+  8750+  8750   8750+  9400+  9900+ 10100+ 10100+ 10100+ 11500+
m2<-gf %>%
  select(hours,status) %>%
  sample_n(n2)

grafico(n2,m2)
## Coordinate system already present. Adding new coordinate system, which will replace the existing one.

Ahora procedamos a ver tres ejemplos

1.- De los treinta ventiladores evaluados podemos ver que la mayorĆ­a presenta censura aleatoria, es decir que la mayorĆ­a de los ventiladores se retiro del estudio por razones aleatorias

2.- El ventilador 25 sufrio una falla entre 0 y 2500 hrs

3.- El ventilador 16 sufrio censura por la derecha tipo 1 debido a que no presento falla alguna durante el tiempo de observación del estudio

3

Por ultimo data.frame se ocupo ā€œpsychā€, donde se cuenta con una población de 26 personas y nos interesa ver si ocurre la muerte del paciente o no.

n3<-26
data("psych")
ps<-data.frame(psych)
Surv(psych$time,psych$death)
##  [1]  1   1   2  22  30+ 28  32  11  14  36+ 31+ 33+ 33+ 37+ 35+ 25  31+
## [18] 22  26  24  35+ 34+ 30+ 35  40  39+
m3<-ps %>%
  select(time,death) %>%
  sample_n(n3)

grafico(n3,m3)
## Coordinate system already present. Adding new coordinate system, which will replace the existing one.

Ejemplos con la base anterior:

1.- El paciente 11 y 13 fallecen aproximadamente en el mismo bloque de tiempo

2.- Podemos observar como el paciente 24 presenta la falla en el ultimo bloque del estudio

3.- Los pacientes que sufrieron censura, fue del tipo aleatoria debido a que salieron del estudio sin haber fallecido