termplot {base}R Documentation

Plot regression terms

Description

Plots regression terms against their predictors, optionally with standard errors and partial residuals added.

Usage

termplot(model, data=model.frame(model), partial.resid=FALSE, rug=FALSE,
         terms=NULL, se=FALSE, xlabs=NULL, ylab=NULL, main = NULL,
         col.term = 2, lwd.term = 1.5,
         col.se = "orange", lty.se = 2, lwd.se = 2,
         col.res= "gray", cex = 1, pch = par("pch"),
         ask = interactive() && nb.fig < n.tms && .Device != "postscript",
         ...)

Arguments

model fitted model object
data data frame in which the variables in model can be found
partial.resid logical; should partial residuals be plotted?
rug add rugplots (jittered 1-d histograms) to the axes?
terms which terms to plot (default NULL means all terms)
se plot pointwise standard errors?
xlabs vector of labels for the x axes
ylab label for the y axes
main logical, or vector of main titles; if TRUE, the model's call is taken as main title, NULL or FALSE mean no titles.
col.term, lwd.term color and line width for the ``term curve'', see lines.
col.se, lty.se, lwd.se color, line type and line width for the ``twice-standard-error curve'' when se = TRUE.
col.res, cex, pch color, plotting character expansion and type for partial residuals, when partial.resid = TRUE, see points.
ask logical; if TRUE, the user is asked before each plot, see par(ask=.).
... other graphical parameters

Details

The model object must have a predict method that accepts type=terms, eg glm in the base package, coxph and survreg in the survival5 package.

For the partial.resid=TRUE option it must have a residuals method that accepts type="partial", which lm and glm do.

It is often necessary to specify the data argument, because it is not possible to reconstruct eg x from a model frame containing sin(x). The data argument must have exactly the same rows as the model frame of the model object so, for example, missing data must have been removed in the same way.

See Also

For (generalized) linear models, plot.lm and predict.glm.

Examples

rs <- require(splines)
x <- 1:100
z <- factor(rep(1:4,25))
y <- rnorm(100,sin(x/10)+as.numeric(z))
model <- glm(y ~ ns(x,6) + z)

par(mfrow=c(2,2)) ## 2 x 2 plots for same model :
termplot(model, main = paste("termplot( ", deparse(model$call)," ..)"))
termplot(model, rug=TRUE)
termplot(model, partial=TRUE, rug= TRUE,
         main="termplot(..,partial = T, rug = T)")
termplot(model, partial=TRUE, se = TRUE, main = TRUE)
if(rs) detach("package:splines")