1 | initial version |
To create a personalized survival function using flexsurv, follow the steps below:
library(flexsurv)
data(lung)
# create a survival object
surv_obj <- with(lung, Surv(time, status))
# define the parametric survival model
param_model <- "weibull(age, sex)"
# fit the personalized survival function
fit <- flexsurvreg(surv_obj ~ age + sex, dist=param_model, data=lung)
# obtain the personalized survival function for a specific individual
age <- 50
sex <- "male"
sfun <- flexsurvsurv(t=seq(0,100,by=1), newdata=list(age=age, sex=sex), type="surv", object=fit)
# plot the personalized survival function
plot(sfun, xlab="Time (days)", ylab="Survival Probability", main="Survival Function for a 50-Year-Old Male")
The resulting plot will show the personalized survival function for a 50-year-old male, taking into account his age and sex.