El objetivo de esta práctica es crear una función que haga un gráfico para conjuntos de datos de supervivencia.
Esta función recibe un data frame que previamente hay que adecuarlo a las necesidades del problema.
#### función que genera una gráfica de datos censurados
gra <-function(m,n){
set.seed(1501)
ggplot(m)+
ggtitle("Datos censurados")+
ylab("Tiempo transcurrido")+ xlab("Número de Observación")+
geom_point (aes(x=1:n,
y= m[,1],
shape=m[,2] %>% as.factor(),
colour=m[,2] %>% as.factor(), size=n )) +
geom_linerange(aes(x=1:n,
ymin=0,
ymax=m[,1]))+
coord_cartesian( ylim = c( 0 , max(m[,1])+5)) +
coord_flip() }
Paso 1. Se cargan los datos para la función en formato csv
data_drame_original <- read.csv("Nombre_del_archivo_donde_estan_los_datos.csv")
Paso 2. Damos formato de supervivencia a nuestros datos con la funcion
Surv(data_frame_original$vector_de_tiempos , data_frame_original$vector_de_fallo)
Paso 3. Definimos tamaño de nuestra
n = numero de muestras que se van a plotear
Paso 4. Creamos un nuevo data frame en el cual seleccione una muestra aleatoria de cardinaldad n (definida en el paso 3) , de las variables vector de tiempo y vector de falla de la siguente manera:
nuevo_data_frame <- data_frame_original %>% select(vector_tiempo, vector_falla) %>% sample_n(n)
Paso 5. Correr la función con el nuevo data frame generado
gra(nuevo_data_frame, n)
##cargamos el data frame original
data("genfan")
#genfan %>% View
#generamos un data frame
dfo1=data.frame(genfan)
#Le ponemos formato de supervivencia a nuestros datos
Surv(dfo1$hours , dfo1$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+
#definir el tamaño de muestra y las variables de interes
#n = tamaño de muestra
#armamos la variable "m" como un data frame que se compone del data frame original
# %>% select(variable de tiempo, variable de falla )
n=20
m1 <- dfo1 %>% select(hours, status) %>% sample_n(n)
#pongamos en marcha
gra(m1, n )
## Coordinate system already present. Adding new coordinate system, which will replace the existing one.
#Cargamos otra base de datos
data("psych")
#psych %>% View()
dfo2<-data.frame(psych)
#damos formato de supervivencia
Surv(dfo2$time,dfo2$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+
#definir el tamaño de muestra y las variables de interes
#n = tamaño de muestra
#armamos la variable "m" como un data frame que se compone del data frame original
# %>% select(variable de tiempo, variable de falla )
n2=10
m2 <- dfo2 %>% select(time,death) %>%
sample_n(n2)
#pongamos en marcha
gra(m2, n2)
## Coordinate system already present. Adding new coordinate system, which will replace the existing one.
hr <- read.csv("HR_comma_sep.csv")
#damos formato de supervivencia
head(Surv(hr$time_spend_company, hr$left),200)
## [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 4 3 3 3 6
## [36] 4 3 3 4 3 5 3 3 4 4 4 3 6 3 3 2 3 3 3 4 3 4 4 3 5 5 4 5 3 4 4 3 6 5 3
## [71] 3 4 3 4 4 4 4 3 3 3 3 3 3 6 4 4 3 3 3 4 3 5 3 3 4 3 4 4 4 6 3 3 3 4 3
## [106] 5 5 3 4 3 3 4 3 5 5 3 2 4 3 3 4 3 6 5 3 4 3 5 4 3 4 3 5 3 3 5 4 3 5 5
## [141] 4 3 4 3 5 3 5 4 5 3 4 3 3 3 3 4 5 4 3 3 4 6 3 5 5 4 3 5 5 3 5 3 4 4 4
## [176] 2 3 3 3 5 3 4 5 4 3 3 4 3 3 3 5 6 5 4 5 4 3 4 4 6
#definir el tamaño de muestra y las variables de interes
#n = tamaño de muestra
#armamos la variable "m" como un data frame que se compone del data frame original
# %>% select(variable de tiempo, variable de falla )
n3=30
m3 <- hr %>% select(time_spend_company,left) %>%
sample_n(n3)
#pongamos en marcha
gra(m3 , n3 )
## Coordinate system already present. Adding new coordinate system, which will replace the existing one.