UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO
Modelos de supervivencia y series de tiempo
Marisol Arreola
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)