Se hace la función para hacer gráficos diagnósticos para decir si a una curva de supervivencia estimada con KM le subyace algún modelo paramétrico.
library(survival)
library(KMsurv)
require(survminer)
## Loading required package: survminer
## Loading required package: ggplot2
## Loading required package: ggpubr
## Loading required package: magrittr
require(ggplot2)
f4 <- function(v1, v2, datos){
km_model <- surv_fit(Surv(v1, v2) ~ 1, datos)
g1 <- ggplot() +
geom_point(aes(log(km_model$surv), km_model$time)) +
labs(x="S(t)", y="t", title = "Exponential diagnosis")
print(g1)
g2 <- ggplot() +
geom_point(aes(qnorm(1-km_model$surv), log(km_model$time))) +
labs(x="S(t)", y="t", title = "Log-normal diagnosis")
print(g2)
g3 <- ggplot() +
geom_point(aes(log(-log(km_model$surv)), log(km_model$time))) +
labs(x="S(t)", y="t", title = "Weibull diagnosis")
print(g3)
g4 <- ggplot() +
geom_point(aes(log((1/km_model$surv)-1), log(km_model$time))) +
labs(x="S(t)", y="t", title = "Log-Logistic diagnosis")
print(g4)
g5 <- ggplot() +
geom_point(aes(log(-log(km_model$surv)+1), km_model$time))+
labs(x="S(t)", y="t", title = "Gompertz diagnosis")
g5
}
data("veteran")
f4(veteran$time,veteran$status,udca)
data("aids")
f4(aids$infect, aids$adult, aids) ##al ser pocos datos no se ve como tal una buena línea recta
data("kidney")
f4(kidney$time,kidney$type, kidney)
Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.