Learn R Programming

easysurv

The easysurv R package provides tools to simplify survival data analysis and model fitting.

This includes tools to inspect survival data, plot Kaplan-Meier curves, assess the proportional hazards assumption, fit parametric survival models, predict and plot survival and hazards, and export the outputs to Excel.

For fitting survival models, the package provides a simple interface to flexsurv::flexsurvreg(), flexsurv::flexsurvspline(), flexsurvcure::flexsurvcure(), and survival::survreg().

By default, the package uses the flexsurv engine (flexsurv::flexsurvreg()) and provides a helpful starting point to explore survival extrapolations across frequently used distributions (such as exponential, generalized gamma, gamma, Gompertz, log-logistic, log-normal and Weibull).

Installation

If you haven’t already, install R and consider using RStudio as your integrated development environment (IDE).

# You will need to have the pak package installed.
install.packages("pak")

# Then, install easysurv either from GitHub for the latest version:
pak::pkg_install("Maple-Health-Group/easysurv")

# Or from CRAN for the latest stable version:
pak::pkg_install("easysurv")

Getting started

# Attach the easysurv library
library(easysurv)

# Open an example script
quick_start()
## Note: The default file name is "easysurv_start.R", but you can define your own, e.g.
## quick_start("my_file_name.R")

# Access help files
help(package = "easysurv")

Examples

Start by tidying your data…

# Load the easy_lung data from the easysurv package
# Recode the "status" variable to create an event indicator (0/1)
surv_data <- easy_lung |>
  dplyr::mutate(
    time = time,
    event = status - 1,
    group = sex,
    .after = time
  ) |>
  dplyr::select(-c(inst, ph.karno, pat.karno)) # remove some unused columns

# Make the group variable a factor and assign level labels.
surv_data <- surv_data |>
  dplyr::mutate_at("group", as.factor)
levels(surv_data$group) <- c("Male", "Female")

… then enjoy the easysurv functions!

inspect_surv_data()

inspect_surv_data(
  data = surv_data,
  time = "time",
  event = "event",
  group = "group"
)

get_km()

km_check <- get_km(
  data = surv_data,
  time = "time",
  event = "event",
  group = "group"
)

print(km_check)

test_ph()

ph_check <- test_ph(
  data = surv_data,
  time = "time",
  event = "event",
  group = "group"
)

print(ph_check)

fit_models()

separate_models <- fit_models(
  data = surv_data,
  time = "time",
  event = "event",
  predict_by = "group"
)

print(separate_models)

predict_and_plot()

plots <- predict_and_plot(fit_models = separate_models)

print(plots)

Copy Link

Version

Install

install.packages('easysurv')

Monthly Downloads

228

Version

2.0.1

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Niall Davison

Last Published

June 21st, 2024

Functions in easysurv (2.0.1)

theme_risktable_easysurv

Plot Theme for easysurv Risk Tables
test_ph

Test Proportional Hazards Assumption
quick_start2

Launch Example Survival Analysis Script using the easy_bc Data Set
quick_start3

Launch Example Survival Analysis Script using the easy_adtte Data Set
predict_and_plot

Predict and Plot Fitted Models
write_to_xl

Export easysurv output to Excel via openxlsx
theme_easysurv

Plot Theme for easysurv Survival and Hazard Plots
fit_models

Fit Survival Models
easy_adtte

Formatted Copy of ggsurvfit::adtte
inspect_surv_data

Inspect Survival Data
get_km

Generate Kaplan-Meier estimates
plot.fit_models

Plot method for fit_models
plot_cloglog

Cumulative Log Log Plot
get_schoenfeld

Extract Schoenfeld Residuals
print.test_ph

Print methods for test_ph()
predict.fit_models

Predict method for fit_models
quick_start

Launch Example Survival Analysis Script using the easy_lung Data Set
print.fit_models

Print methods for fit_models()
plot_schoenfeld

Plot Schoenfeld Residuals
easysurv-package

easysurv: Simplify Survival Data Analysis and Model Fitting
print.get_km

Print methods for get_km()
easy_bc

Formatted Copy of flexsurv::bc
easy_lung

plot_km

Plot Kaplan-Meier Data
print.inspect_surv_data

Print methods for inspect_surv_data()
print.predict_and_plot

Print methods for predict_and_plot()