Learn R Programming

survMisc (version 0.5.0)

autoplotTen: Generate a ggplot for a survfit or ten object

Description

Generate a ggplot for a survfit or ten object

Usage

autoplot(object, ...)

## S3 method for class 'ten': autoplot(object, ..., title = "Marks show times with censoring", type = c("single", "CI", "fill"), alpha = 0.05, ciLine = 10, censShape = 3, palette = c("Dark2", "Set2", "Accent", "Paired", "Pastel1", "Pastel2", "Set1", "Set3"), jitter = c("none", "noEvents", "all"), tabTitle = "Number at risk by time", xLab = "Time", timeTicks = c("major", "minor", "days", "months", "custom"), times = NULL, yLab = "Survival", yScale = c("perc", "frac"), legend = TRUE, legTitle = "Group", legLabs = NULL, legOrd = NULL, titleSize = 15, axisTitleSize = 15, axisLabSize = 10, survLineSize = 0.5, censSize = 5, legTitleSize = 10, legLabSize = 10, fillLineSize = 0.05, tabTitleSize = 15, tabLabSize = 5, nRiskSize = 5)

## S3 method for class 'stratTen': autoplot(object, ..., title = NULL, type = c("single", "CI", "fill"), alpha = 0.05, ciLine = 10, censShape = 3, palette = c("Dark2", "Set2", "Accent", "Paired", "Pastel1", "Pastel2", "Set1", "Set3"), jitter = c("none", "noEvents", "all"), tabTitle = "Number at risk by time", xLab = "Time", timeTicks = c("major", "minor", "days", "months", "custom"), times = NULL, yLab = "Survival", yScale = c("perc", "frac"), legend = TRUE, legTitle = "Group", legLabs = NULL, legOrd = NULL, titleSize = 15, axisTitleSize = 15, axisLabSize = 10, survLineSize = 0.5, censSize = 5, legTitleSize = 10, legLabSize = 10, fillLineSize = 0.05, tabTitleSize = 15, tabLabSize = 5, nRiskSize = 5)

## S3 method for class 'survfit': autoplot(object, ..., title = "Marks show times with censoring", type = c("single", "CI", "fill"), alpha = 0.05, ciLine = 10, censShape = 3, palette = c("Dark2", "Set2", "Accent", "Paired", "Pastel1", "Pastel2", "Set1", "Set3"), jitter = c("none", "noEvents", "all"), tabTitle = "Number at risk by time", xLab = "Time", timeTicks = c("major", "minor", "weeks", "months", "custom"), times = NULL, yLab = "Survival", yScale = c("perc", "frac"), legend = TRUE, legLabs = NULL, legOrd = NULL, legTitle = "Group", titleSize = 15, axisTitleSize = 15, axisLabSize = 10, survLineSize = 0.5, censSize = 5, legTitleSize = 10, legLabSize = 10, fillLineSize = 0.05, tabTitleSize = 15, tabLabSize = 5, nRiskSize = 5, pVal = FALSE, sigP = 1, pX = 0.1, pY = 0.1)

Arguments

object
An object of class survfit, ten or stratTen.
...
Additional arguments (not implemented).
title
Title for survival plot.
type
type="single" (the default) plots single lines. [object Object],[object Object]
alpha
Opacity of lines indicating confidence intervals or filled rectangles. Should be in range $0-1$. Lower = more transparent. Larger values e.g. alpha=0.7 are recommended for confidence intervals.
ciLine
Confidence interval line type. See 'line type specification' in ?graphics::par
censShape
Shape of marks to indicate censored onservations. Default is 3 which gives vertical ticks. Use censShape=10 for circular marks. See ?graphics::points
palette
Options are taken from http://colorbrewer2.org/{color_brewer}.
  • palette="Dark2"(the default) is recommended forsingleorCIplots.
  • palette="Set2"is recommended fortype="f
jitter
By default, jitter="none".
  • Ifjitter="noEvents", adds some random, positive noise to survival lines with no events (i.e. all observations censored). This will bring them just above 1 on the y-axis, making them easier t
tabTitle
Table title. --Axis arguments:
xLab
Label for $x$ axis on survival plot.
timeTicks
Numbers to mark on the $x$ axis of the survival plot and the table. [object Object],[object Object],[object Object],[object Object],[object Object]
times
Vector of custom times to use for $x$ axis.
yLab
Label for $y$ axis on survival plot.
yScale
Display for point on $y$ axis: [object Object],[object Object] --Legend arguments:
legend
If legend=FALSE, no legends will be produced for the plot or table.
legTitle
Legend title.
legLabs
Legend labels. These can be used to replace the names of the covariate groups ('strata' in the case of a survfit object). Should be given in the same order as those strata.
legOrd
Legend order. --Size arguments: Size arguments are passed to ggplot2::element_text(size=).
titleSize
Title size for survival plot.
axisTitleSize
Title size for axes.
axisLabSize
Title size for labels on axes.
survLineSize
Survival line size.
legTitleSize
Title size for legend.
legLabSize
Legend labels width and height.
censSize
Size of marks to indicate censored onservations.
fillLineSize
Line size surrouding filled boxes.
tabTitleSize
Table title text size.
tabLabSize
Table legend text size.
nRiskSize
Number at risk - text size. --Arguments for autoplot.survfit only:
pVal
If pVal=TRUE, adds $p$ value from log-rank test to plot
sigP
No. of significant digits to display in $p$ value. Typically $1$ to $3$.
pX
Location of $p$ value on $x$ axis. Should be in the range of $0 - 1$, where value is to be placed relative to the maximum observed time. E.g. pX = 0.5 will place it half-way along $x$-axis
pY
Location of $p$ value on $y$ axis. Should be in the range of $0 - 1$, as above.

See Also

?ggplot2::ggplot_build

Examples

Run this code
## examples are slow to run; see vignette for output from these
### autoplot.ten
data("kidney", package="KMsurv")
t1 <- ten(survfit(Surv(time, delta) ~ type, data=kidney))
autoplot(t1)
autoplot(t1, type="fill", survLineSize=2, jitter="all")
autoplot(t1, timeTicks="months",
 type="CI", jitter="all",
 legLabs=c("surgical", "percutaneous"),
 title="Time to infection following catheter placement \n
   by type of catheter, for dialysis patients",
 titleSize=10, censSize=2)$plot
t2 <- ten(survfit(Surv(time=time, event=delta) ~ 1, data=kidney))
autoplot(t2, legLabs="")$plot
autoplot(t2, legend=FALSE)
data("rectum.dat", package="km.ci")
t3 <- ten(survfit(Surv(time, status) ~ 1, data=rectum.dat))
## change confidence intervals to log Equal-Precision confidence bands
ci(t3, how="nair", tL=1, tU=40)
autoplot(t3, type="fill", legend=FALSE)$plot
## manually changing the output
t4 <- ten(survfit(Surv(time, delta) ~ type, data=kidney))
(a4 <- autoplot(t4, type="CI", alpha=0.8, survLineSize=2)$plot)
## change default colors
a4 + list(ggplot2::scale_color_manual(values=c("red", "blue")),
          ggplot2::scale_fill_manual(values=c("red", "blue")))
## change limits of y-axis
suppressMessages(a4 + ggplot2::scale_y_continuous(limits=c(0, 1)))
data("pbc", package="survival")
t1 <- ten(Surv(time, status==2) ~ trt + strata(edema), data=pbc, abbNames=FALSE)
autoplot(t1)
### autoplot.survfit
data(kidney, package="KMsurv")
s1 <- survfit(Surv(time, delta) ~ type, data=kidney)
autoplot(s1, type="fill", survLineSize=2)
autoplot(s1, type="CI", pVal=TRUE, pX=0.3,
 legLabs=c("surgical", "percutaneous"),
 title="Time to infection following catheter placement \n
   by type of catheter, for dialysis patients")$plot
s1 <- survfit(Surv(time=time, event=delta) ~ 1, data=kidney)
autoplot(s1, legLabs="")$plot
autoplot(s1, legend=FALSE)$plot
data(rectum.dat, package="km.ci")
s1 <- survfit(Surv(time, status) ~ 1, data=rectum.dat)
## change confidence intervals to log Equal-Precision confidence bands
if (require("km.ci")) {
 km.ci::km.ci(s1, method="logep")
 autoplot(s1, type="fill", legend=FALSE)$plot
}
## manually changing the output
s1 <- survfit(Surv(time, delta) ~ type, data=kidney)
g1 <- autoplot(s1, type="CI", alpha=0.8, survLineSize=2)$plot
## change default colors
g1 + ggplot2::scale_colour_manual(values=c("red", "blue")) +
    ggplot2::scale_fill_manual(values=c("red", "blue"))
## change limits of y-axis
g1 + ggplot2::scale_y_continuous(limits=c(0, 1))

Run the code above in your browser using DataLab