Learn R Programming

Hmisc (version 5.2-1)

rcspline.plot: 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)

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

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 - f\) quantiles of x, where \(f = \frac{10}{\max{(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.

Author

Frank Harrell
Department of Biostatistics, Vanderbilt University
fh@fharrell.com

See Also

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

Examples

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

Run the code above in your browser using DataLab