El objetivo de esta práctica es crear una función que haga el gráfico adjunto para conjuntos de datos de supervivencia. La siguiente función recibe los siguientes parámetros:
- df: Corresponde al DataFrame a estudiar con datos de supervivencia. Debido a que la función regresará un gráfico que muestre las fallas en el tiempo se necesitan dos columnas; una de ellas debe especificar el tiempo o periodo y la siguiente columna si existió falla o no en ese periodo. Por lo que la segunda columna mencionada sólo debe contener dos tipos de valores.
- n: El tamaño de la muestra a considerar para graficar.
- j1: El indice de la columna que representa el tiempo en df
- j2: El indice de la columna que representa las fallas en df

require(plotly)
require(survival)
require(KMsurv)
require(dplyr)
require(ggplot2)

hr<-read.csv("C:/Users/Sol/Downloads/HR_comma_sep.csv")

ansurv<-function(df,n, j1, j2){
  vt<-df[,j1]
  vf<-df[,j2]
  m<-df[,c(j1,j2)]%>% sample_n(n)
  ggplot()+geom_point(aes(x=1:n, y=m[,1],
                          shape=m[,2] %>% as.factor(),size=2, 
                          colour=m[,2] %>% as.factor()))+
    geom_linerange(aes(x=1:n, ymin=0, ymax=m[,1], 
                       colour=m[,1] %>% as.factor(), size=1))+
    coord_cartesian(ylim=c(0, max(m[,1])), 
                    xlim = c(0, 30))+coord_flip()+ labs(y="Tiempo", x="Observaciones")+
    theme_grey()+labs(shape="Evento", colour="Periodo")+
    theme(legend.position = "bottom", legend.box = "vertical")+scale_size(guide=FALSE)
  
}
library(survival)
#Dataframe que muestra en la columna 5 el tiempo gastado en la compañia y 7 si el individuó la dejó o no.

ansurv(hr, 40, 5, 7)

ansurv(hr, 40, 5, 6)

ansurv(hr, 70, 5, 7)

#Data frame que estudia cancer en la vejiga, tenemos que la columna 5 corresponde al tiempo ocurrió la falla y la columna 6 corresponde a una columna binaria dependiendo si ocurrió el evento o no.
ansurv(bladder, 30,5,6 )

#Data frame que representa un experimento con ratas, tenemos que la columna 3 corresponde al tiempo  que ocurrió la falla y la columna 6 corresponde a una columna binaria dependiendo si ocurrió el evento o no(muerte).
ansurv(rats,10,3,4)