## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----setup-------------------------------------------------------------------- library(spect) ## ----------------------------------------------------------------------------- set.seed(42) data(pbc, package = "survival") event_column <- "event_indicator" time_column <- "survival_time" pbc_complete <- pbc[complete.cases(pbc),] source_data <- pbc_complete[,c(7:20)] source_data[[event_column]] <- ifelse(pbc_complete$status == 2, 1, 0) source_data[[time_column]] <- pbc_complete$time / 365.25 head(source_data) ## ----------------------------------------------------------------------------- predict_data <- source_data[1:10,] train_data <- source_data[11:nrow(source_data),] ## ----------------------------------------------------------------------------- result <- spect_train(model_algorithm = "rf" , base_learner_list = c("glm", "svmLinear") , use_parallel = FALSE , modeling_data = train_data , event_indicator_var = event_column , survival_time_var = time_column , obs_window = 12) ## ----------------------------------------------------------------------------- plot_survival_curve(result, individual_id=40) ## ----------------------------------------------------------------------------- plot_survival_curve(result, individual_id=40, curve_type="conditional") ## ----------------------------------------------------------------------------- plot_survival_curve(result, individual_id=40, curve_type="absolute") ## ----------------------------------------------------------------------------- km_data <- plot_km(result, prediction_threshold_search_granularity = 0.1) ## ----------------------------------------------------------------------------- prediction_times = c(2, 6) eval <- evaluate_model(result, prediction_times) ## ----------------------------------------------------------------------------- predictions <- spect_predict(result, new_data=predict_data) # Collect the absolute probability of individual 1 surviving to time 6. individual = 1 survival_time_check = 6 tail(predictions[predictions$individual_id == individual & predictions$upper_bound < survival_time_check,], n = 1)$abs_event_prob