Package 'KMunicate'

Title: KMunicate-Style Kaplan–Meier Plots
Description: Produce Kaplan–Meier plots in the style recommended following the KMunicate study by Morris et al. (2019) <doi:10.1136/bmjopen-2019-030215>. The KMunicate style consists of Kaplan-Meier curves with confidence intervals to quantify uncertainty and an extended risk table (per treatment arm) depicting the number of study subjects at risk, events, and censored observations over time. The resulting plots are built using 'ggplot2' and can be further customised to a certain extent, including themes, fonts, and colour scales.
Authors: Alessandro Gasparini [aut, cre, cph] , Ary Serpa Neto [ctb], Peter Dutey [ctb]
Maintainer: Alessandro Gasparini <[email protected]>
License: MIT + file LICENSE
Version: 0.2.5.9000
Built: 2024-11-12 03:57:50 UTC
Source: https://github.com/ellessenne/kmunicate-package

Help Index


German Breast Cancer Study Data

Description

German breast cancer study data, imported from Stata 16.

Usage

brcancer

Format

A data frame with 686 rows and 14 variables:

  • id A numeric vector;

  • hormon Hormonal therapy;

  • x1 Age, in years;

  • x2 Menopausal status;

  • x3 Tumour size, mm;

  • x4 Tumour grade;

  • x5 Number of positive nodes;

  • x6 Progesterone receptor, fmol;

  • rectime Recurrence-free survival time, days;

  • censrec Censoring indicator;

  • x4a Tumour grade >=2;

  • x4b Tumour grade == 3;

  • x5e exp(-0.12 * x5).

References

http://www.stata-press.com/data/r16/brcancer.dta

Examples

data("brcancer", package = "KMunicate")

Patient Survival in Drug Trial

Description

Patient survival in drug trial data, imported from Stata 16.

Usage

cancer2

Format

A data frame with 48 rows and 4 variables:

  • studytime Months to death or end of follow-up;

  • died Event indicator variable, died = 1 if a patient died;

  • drug Drug type, with drug = 1 being placebo;

  • age Age of a patient at baseline.

Note

The dataset is named cancer2 to avoid name collision with the cancer dataset from the survival package.

References

http://www.stata-press.com/data/r16/cancer.dta

Examples

data("cancer2", package = "KMunicate")

Create KMunicate-Style Kaplan–Meier Plots

Description

Produce Kaplan–Meier plots in the style recommended following the KMunicate study by TP Morris et al. (doi:10.1136/bmjopen-2019-030215).

Usage

KMunicate(
  fit,
  time_scale,
  .risk_table = "KMunicate",
  .reverse = FALSE,
  .theme = NULL,
  .color_scale = NULL,
  .fill_scale = NULL,
  .linetype_scale = NULL,
  .annotate = NULL,
  .xlab = "Time",
  .ylab = ifelse(.reverse, "Estimated (1 - survival)", "Estimated survival"),
  .title = NULL,
  .alpha = 0.25,
  .rel_heights = NULL,
  .ff = NULL,
  .risk_table_base_size = 11,
  .size = NULL,
  .legend_position = c(1, 1)
)

Arguments

fit

A survfit object.

time_scale

The time scale that will be used for the x-axis and for the summary tables.

.risk_table

This arguments define the type of risk table that is produced.

.reverse

If reverse = TRUE, then the plot uses 1 - survival probability on the y-axis. Defaults to KMunicate, where the cumulative number of events and censored are calculated. Another possibility is survfit, which will use the default numbers returned by summary.survfit (e.g. number of events and censored per interval). .risk_table can also be NULL, in which case the risk table will be omitted from the plot.

.theme

ggplot theme used by the plot. Defaults to NULL, where the default ggplot theme will be used.

.color_scale

Colour scale used for the plot. Has to be a ⁠scale_colour_*⁠ component, and defaults to NULL where the default colour scale will be used.

.fill_scale

Fill scale used for the plot. Has to be a ⁠scale_fill_*⁠ component, and defaults to NULL where the default fill scale will be used.

.linetype_scale

Linetype scale used for the plot. Has to be a ⁠scale_linetype_*⁠ component, and defaults to NULL where the default linetype scale will be used.

.annotate

Optional annotation to be added to the plot, e.g. using ggplot2::annotate(). Defaults to NULL, where no extra annotation is added.

.xlab

Label for the horizontal axis, defaults to Time.

.ylab

Label for the vertical axis, defaults to Estimated survival if .reverse = FALSE, to Estimated (1 - survival) otherwise.

.title

A title to be added on top of the plot. Defaults to NULL, where no title will be included.

.alpha

Transparency of the point-wise confidence intervals

.rel_heights

Override default relative heights of plots and tables. Must be a numeric vector of length equal 1 + 1 per each arm in the Kaplan-Meier plot. See cowplot::plot_grid() for more details on how to use this argument.

.ff

A string used to define a base font for the plot.

.risk_table_base_size

Base font size for the risk table, given in pts. Defaults to 11.

.size

Thickness of each Kaplan-Meier curve. Defaults to NULL, where ggplot2's default will be used.

.legend_position

Position of the legend in the plot. Defaults to c(1, 1), which corresponds to top-right of the plot. It is also possible to pass a string, as in ggplot2, e.g. "none" to suppress the legend. N.B.: Legend justification is modified accordingly. See ggplot2::theme() for more details on how to place the legend of the plot.

Value

A KMunicate-style ggplot object.

Examples

library(survival)
data("cancer2", package = "KMunicate")
KM <- survfit(Surv(studytime, died) ~ drug, data = cancer2)
time_scale <- seq(0, max(cancer2$studytime), by = 7)
KMunicate(fit = KM, time_scale = time_scale)