termplot {stats}  R Documentation 
Plots regression terms against their predictors, optionally with standard errors and partial residuals added.
termplot(model, data = NULL, envir = environment(formula(model)),
partial.resid = FALSE, rug = FALSE,
terms = NULL, se = FALSE,
xlabs = NULL, ylabs = NULL, main = NULL,
col.term = 2, lwd.term = 1.5,
col.se = "orange", lty.se = 2, lwd.se = 1,
col.res = "gray", cex = 1, pch = par("pch"),
col.smth = "darkred", lty.smth = 2, span.smth = 2/3,
ask = dev.interactive() && nb.fig < n.tms,
use.factor.levels = TRUE, smooth = NULL, ylim = "common",
plot = TRUE, transform.x = FALSE, ...)
model 
fitted model object 
data 
data frame in which variables in 
envir 
environment in which variables in 
partial.resid 
logical; should partial residuals be plotted? 
rug 
add rugplots (jittered 1d histograms) to the axes? 
terms 
which terms to plot (default 
se 
plot pointwise standard errors? 
xlabs 
vector of labels for the x axes 
ylabs 
vector of labels for the y axes 
main 
logical, or vector of main titles; if 
col.term, lwd.term 
color and line width for the ‘term curve’,
see 
col.se, lty.se, lwd.se 
color, line type and line width for the
‘twicestandarderror curve’ when 
col.res, cex, pch 
color, plotting character expansion and type
for partial residuals, when 
ask 
logical; if 
use.factor.levels 
Should xaxis ticks use factor levels or numbers for factor terms? 
smooth 

lty.smth, col.smth, span.smth 
Passed to 
ylim 
an optional range for the y axis, or 
plot 
if set to 
transform.x 
logical vector; if an element (recycled as necessary)
is 
... 
other graphical parameters. 
The model
object must have a predict
method that accepts
type = "terms"
, e.g., glm
in the stats package,
coxph
and survreg
in
the survival package.
For the partial.resid = TRUE
option model
must have a
residuals
method that accepts type = "partial"
,
which lm
and glm
do.
The data
argument should rarely be needed, but in some cases
termplot
may be unable to reconstruct the original data
frame. Using na.action=na.exclude
makes these problems less likely.
Nothing sensible happens for interaction terms, and they may cause errors.
The plot = FALSE
option is useful when some special action is needed,
e.g. to overlay the results of two different models or to plot
confidence bands.
For plot = FALSE
, a list with one element for each plot which
would have been produced. Each element of the list is a data frame
with variables x
, y
, and optionally the pointwise
standard errors se
. For continuous predictors x
will
contain the ordered unique values and for a factor it will be a factor
containing one instance of each level. The list has attribute
"constant"
copied from the predicted terms object.
Otherwise, the number of terms, invisibly.
For (generalized) linear models, plot.lm
and
predict.glm
.
require(graphics)
had.splines < "package:splines" %in% search()
if(!had.splines) rs < require(splines)
x < 1:100
z < factor(rep(LETTERS[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.resid = TRUE, se = TRUE, main = TRUE)
termplot(model, partial.resid = TRUE, smooth = panel.smooth, span.smth = 1/4)
if(!had.splines && rs) detach("package:splines")
if(requireNamespace("MASS", quietly = TRUE)) {
hills.lm < lm(log(time) ~ log(climb)+log(dist), data = MASS::hills)
termplot(hills.lm, partial.resid = TRUE, smooth = panel.smooth,
terms = "log(dist)", main = "Original")
termplot(hills.lm, transform.x = TRUE,
partial.resid = TRUE, smooth = panel.smooth,
terms = "log(dist)", main = "Transformed")
}