require(survival)
require(survminer)
require(ggplot2)
require(scales)
require(dplyr)
require(KMsurv)
Mi funcion recibe un unico parametro que es la estimacion km_model. Una vez recibido este parametro, de cada una de nuestras 3 bases de datos, hara los graficos diagnostico para la Exponencial, Weibull, Log-Normal, Gompertz y Log-Logistica.
mi_funcion <- function(km_model){
expo<-ggplot()+
geom_point(aes(log(km_model$surv),km_model$time))+
labs(x=expression(hat(S)(t)),y="y",
title="Exponential diagnosis",
subtitle = "Straight line with negative slope expected")+
theme(plot.subtitle = element_text(family = "serif"),
plot.caption = element_text(family="mono"),
axis.line = element_line(size = 0.5,
linetype = "solid")
)
weib<-ggplot()+
geom_point(aes(log(-log(km_model$surv)),log(km_model$time)))+
labs(x=expression(hat(S)(t)),y="y",
title="Weibull diagnosis",
subtitle = "Straight line with positive slope expected")+
theme(plot.subtitle = element_text(family = "serif"),
plot.caption = element_text(family="mono"),
axis.line = element_line(size = 0.5,
linetype = "solid")
)
logm<-ggplot()+
geom_point(aes(qnorm(1-km_model$surv),log(km_model$time)))+
labs(x=expression(hat(S)(t)),y="y",
title="Log Normal diagnosis",
subtitle = "Straight line with positive slope expected")+
theme(plot.subtitle = element_text(family = "serif"),
plot.caption = element_text(family="mono"),
axis.line = element_line(size = 0.5,
linetype = "solid")
)
gomp<-ggplot()+
geom_point(aes(log(-log(km_model$surv))+1,km_model$time))+
labs(x=expression(hat(S)(t)),y="y",
title="Gompertz diagnosis",
subtitle = "Straight line with positive slope expected")+
theme(plot.subtitle = element_text(family = "serif"),
plot.caption = element_text(family="mono"),
axis.line = element_line(size = 0.5,
linetype = "solid")
)
logisc<-ggplot()+
geom_point(aes(1/(km_model$surv),km_model$time))+
labs(x=expression(hat(S)(t)),y="y",
title="Log Logistic diagnosis",
subtitle = "Straight line with positive slope expected")+
theme(plot.subtitle = element_text(family = "serif"),
plot.caption = element_text(family="mono"),
axis.line = element_line(size = 0.5,
linetype = "solid")
)
ggarrange(expo,weib,logm,gomp,logisc,
ncol = 2, nrow = 3)
}
Datos de un experimento factorial sobre la vida útil de los condensadores de vidrio en función del voltaje y la temperatura de funcionamiento. Había 8 condensadores en cada combinación de temperatura y voltaje. Las pruebas en cada combinación se terminaron después de la cuarta falla.
data("genfan")
a<-surv_fit(Surv(genfan$hours, genfan$status)~1,genfan)
mi_funcion(a)
El DataFrame de psych tiene 41 personas asignadas en 26 gripos segun su edad, de estos nos interesa hacer analisis de si hubo fall y el tiempo.
data("psych")
b<-surv_fit(Surv(psych$time, psych$death)~1,psych)
mi_funcion(b)
Supervivencia en pacientes con cáncer de pulmón avanzado del North Central Cancer Treatment Group. Los puntajes de rendimiento califican qué tan bien el paciente puede realizar las actividades diarias habituales.
data("cancer")
c<-surv_fit(Surv(genfan$hours, genfan$status)~1,cancer)
mi_funcion(c)