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 |
German breast cancer study data, imported from Stata 16.
brcancer
brcancer
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).
http://www.stata-press.com/data/r16/brcancer.dta
data("brcancer", package = "KMunicate")
data("brcancer", package = "KMunicate")
Patient survival in drug trial data, imported from Stata 16.
cancer2
cancer2
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.
The dataset is named cancer2
to avoid name collision with the cancer
dataset from the survival package.
http://www.stata-press.com/data/r16/cancer.dta
data("cancer2", package = "KMunicate")
data("cancer2", package = "KMunicate")
Produce Kaplan–Meier plots in the style recommended following the KMunicate study by TP Morris et al. (doi:10.1136/bmjopen-2019-030215).
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) )
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) )
fit |
A |
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 |
.theme |
|
.color_scale |
Colour scale used for the plot. Has to be a |
.fill_scale |
Fill scale used for the plot. Has to be a |
.linetype_scale |
Linetype scale used for the plot. Has to be a |
.annotate |
Optional annotation to be added to the plot, e.g. using |
.xlab |
Label for the horizontal axis, defaults to Time. |
.ylab |
Label for the vertical axis, defaults to Estimated survival if |
.title |
A title to be added on top of the plot. Defaults to |
.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 |
.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 |
.legend_position |
Position of the legend in the plot. Defaults to |
A KMunicate-style ggplot
object.
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)
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)