# plot.flexsurvreg: Plots of fitted flexible survival models In flexsurv: Flexible parametric survival models

## Description

Plot fitted survival, cumulative hazard or hazard from a parametric model against nonparametric estimates to diagnose goodness-of-fit.

## Usage

 ```1 2 3 4 5 6 7``` ```## S3 method for class 'flexsurvreg' plot(x, X=NULL, type="survival", t=NULL, start=NULL, est=TRUE, ci=NULL, B=1000, cl=0.95, col.obs="black", lty.obs=1, lwd.obs=1, col="red", lty=1, lwd=2, col.ci=NULL, lty.ci=2, lwd.ci=1, add=FALSE,...) ```

## Arguments

 `x` Output from `flexsurvreg` or `flexsurvspline`, representing a fitted survival model object. `X` Matrix of covariate values to produce fitted survival curves for. Columns represent different covariates, and rows represent multiple curves. For example `matrix(c(1,2),nrow=2)` if there is only one covariate in the model, and we want to plot curves for covariate values of 1 and 2. For “factor” (categorical) covariates, the values of the contrasts representing factor levels (as returned by the `contrasts` function) should be used. For example, for a covariate `agegroup` specified as an unordered factor with levels `20-29, 30-39, 40-49, 50-59`, and baseline level `20-29`, there are three contrasts. To plot curves for groups `20-29` and `40-49`, supply `X = rbind(c(0,0,0), c(0,1,0))`, since all contrasts are zero for the baseline level, and the second contrast is “turned on” for the third level `40-49`. If there are only factor covariates in the model, then Kaplan-Meier curves are plotted for all distinct groups, and by default, fitted curves are also plotted for these groups. To plot Kaplan-Meier and fitted curves for only a subset of groups, use `plot(survfit())` followed by `lines.flexsurvreg()`. If there are any continuous covariates, then a single population Kaplan-Meier curve is drawn. By default, a single fitted curve is drawn with the covariates set to their mean values in the data - for categorical covariates, the means of the 0/1 indicator variables are taken. `type` `"survival"` for survival, to be plotted against Kaplan-Meier estimates from `plot.survfit`. `"cumhaz"` for cumulative hazard, plotted against transformed Kaplan-Meier estimates from `plot.survfit`. `"hazard"` for hazard, to be plotted against smooth nonparametric estimates from `muhaz`. The nonparametric estimates tend to be unstable, and these plots are intended just to roughly indicate the shape of the hazards through time. The `min.time` and `max.time` options to `muhaz` may sometimes need to be passed as arguments to `plot.flexsurvreg` to avoid an error here. `t` Vector of times to plot fitted values for, see `summary.flexsurvreg`. `start` Left-truncation points, see `summary.flexsurvreg`. `est` Plot fitted curves (`TRUE` or `FALSE`.) `ci` Plot confidence intervals for fitted curves. By default, this is `TRUE` if one observed/fitted curve is plotted, and `FALSE` if multiple curves are plotted. `B` Number of simulations controlling accuracy of confidence intervals, as used in `summary`. Decrease for greater speed at the expense of accuracy, or set `B=0` to turn off calculation of CIs. `cl` Width of confidence intervals, by default 0.95 for 95% intervals. `col.obs` Colour of the nonparametric curve. `lty.obs` Line type of the nonparametric curve. `lwd.obs` Line width of the nonparametric curve. `col` Colour of the fitted parametric curve(s). `lty` Line type of the fitted parametric curve(s). `lwd` Line width of the fitted parametric curve(s). `col.ci` Colour of the fitted confidence limits, defaulting to the same as for the fitted curve. `lty.ci` Line type of the fitted confidence limits. `lwd.ci` Line width of the fitted confidence limits. `add` If `TRUE`, add lines to an existing plot, otherwise new axes are drawn. `...` Other options to be passed to `plot.survfit` or `muhaz`, for example, to control the smoothness of the nonparametric hazard estimates. The `min.time` and `max.time` options to `muhaz` may sometimes need to be changed from the defaults.

## Note

Some standard plot arguments such as `"xlim","xlab"` may not work. This function was designed as a quick check of model fit. Users wanting publication-quality graphs are advised to set up an empty plot with the desired axes first (e.g. with `plot(...,type="n",...)`), then use suitable `lines` functions to add lines.

## Author(s)

C. H. Jackson [email protected]am.ac.uk

`flexsurvreg`