R: Plot Restricted Cubic Spline Function

rcspline.plot {Hmisc} | R Documentation

## Plot Restricted Cubic Spline Function

### Description

Provides plots of the estimated restricted cubic spline function relating a single predictor to the response for a logistic or Cox model. The `rcspline.plot` function does not allow for interactions as do `lrm` and `cph`, but it can provide detailed output for checking spline fits. This function uses the `rcspline.eval`, `lrm.fit`, and Therneau's `coxph.fit` functions and plots the estimated spline regression and confidence limits, placing summary statistics on the graph. If there are no adjustment variables, `rcspline.plot` can also plot two alternative estimates of the regression function when `model="logistic"`: proportions or logit proportions on grouped data, and a nonparametric estimate. The nonparametric regression estimate is based on smoothing the binary responses and taking the logit transformation of the smoothed estimates, if desired. The smoothing uses `supsmu`.

### Usage

    rcspline.plot(x,y,model=c("logistic", "cox", "ols"), xrange, event, nk=5,
                  knots=NULL, show=c("xbeta","prob"), adj=NULL, xlab, ylab,
                  ylim, plim=c(0,1), plotcl=TRUE, showknots=TRUE, add=FALSE,
                  subset, lty=1, noprint=FALSE, m, smooth=FALSE, bass=1,
                  main="auto", statloc)

### Arguments

`x` | a numeric predictor
`y` | a numeric response. For binary logistic regression, `y` should be either 0 or 1.
`model` | `"logistic"` or `"cox"`. For `"cox"`, uses the `coxph.fit` function with `method="efron"` arguement set.
`xrange` | range for evaluating `x`, default is f and 1 - \var{f} quantiles of `x`, where \var{f} = 10/max(\var{n}, 200)
`event` | event/censoring indicator if `model="cox"`. If `event` is present, `model` is assumed to be `"cox"`
`nk` | number of knots
`knots` | knot locations, default based on quantiles of `x` (by `rcspline.eval`)
`show` | `"xbeta"` or `"prob"` - what is plotted on `y`-axis
`adj` | optional matrix of adjustment variables
`xlab` | `x`-axis label, default is the “label” attribute of `x`
`ylab` | `y`-axis label, default is the “label” attribute of `y`
`ylim` | `y`-axis limits for logit or log hazard
`plim` | `y`-axis limits for probability scale
`plotcl` | plot confidence limits
`showknots` | show knot locations with arrows
`add` | add this plot to an already existing plot
`subset` | subset of observations to process, e.g. `sex == "male"`
`lty` | line type for plotting estimated spline function
`noprint` | suppress printing regression coefficients and standard errors
`m` | for `model="logistic"`, plot grouped estimates with triangles. Each group contains `m` ordered observations on `x`.
`smooth` | plot nonparametric estimate if `model="logistic"` and `adj` is not specified
`bass` | smoothing parameter (see `supsmu`)
`main` | main title, default is `"Estimated Spline Transformation"`
`statloc` | location of summary statistics. Default positioning by clicking left mouse button where upper left corner of statistics should appear. Alternative is `"ll"` to place below the graph on the lower left, or the actual `x` and `y` coordinates. Use `"none"` to suppress statistics.

### Value

list with components (knots, x, xbeta, lower, upper) which are respectively the knot locations, design matrix, linear predictor, and lower and upper confidence limits

### Author(s)

Frank Harrell
Department of Biostatistics, Vanderbilt University
f.harrell@vanderbilt.edu

### See Also

`lrm`, `cph`, `rcspline.eval`, `plot`, `supsmu`, `coxph.fit`, `lrm.fit`

### Examples

    #rcspline.plot(cad.dur, tvdlm, m=150)
    #rcspline.plot(log10(cad.dur+1), tvdlm, m=150)

[Package Hmisc version 4.3-0 Index]