## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.width = 7, fig.height = 4.5, message = FALSE, warning = FALSE ) ## ----setup-------------------------------------------------------------------- library(spsurv) library(survival) library(parsnip) library(censored) library(workflows) data(veteran) ## ----parsnip-fit-------------------------------------------------------------- spec <- proportional_hazards() |> set_engine("spsurv", degree = 5L, scale = FALSE, init = 0) fit <- fit(spec, Surv(time, status) ~ karno + celltype, data = veteran) predict(fit, veteran[1:2, ], type = "survival", eval_time = c(100, 200)) ## ----workflow----------------------------------------------------------------- wf <- workflow() |> add_formula(Surv(time, status) ~ karno + celltype) |> add_model( proportional_hazards() |> set_engine("spsurv", degree = 5L, scale = FALSE, init = 0) ) wf_fit <- fit(wf, data = veteran) predict(wf_fit, veteran[1:3, ], type = "time") ## ----bp-survival-reg---------------------------------------------------------- bp_survival_reg(family = "ph", engine = "spsurv") ## ----predict-types------------------------------------------------------------ fit <- bpph(Surv(time, status) ~ karno, data = veteran, approach = "mle", init = 0) predict(fit, veteran[1:2, ], type = "survival", eval_time = c(50, 100)) predict(fit, veteran[1:2, ], type = "linear_pred") generics::augment(fit, data = veteran[1:5, ]) ## ----bayes-draws, cache = TRUE------------------------------------------------ fit_bayes <- bpph( Surv(time, status) ~ karno, data = veteran, approach = "bayes", degree = 4L, iter = 200, warmup = 100, chains = 1, cores = 1, init = 0 ) dr <- as_draws_df.spbp(fit_bayes) head(dr[, c(".chain", ".iteration", ".draw", "beta[karno]")]) ## ----surv-draws--------------------------------------------------------------- long <- spread_surv_draws.spbp( fit_bayes, times = c(50, 100, 150), newdata = veteran[1, , drop = FALSE] ) head(long)