### This is a generic function with only one required argument:
residualPlots (model, ...)
## S3 method for class 'default':
residualPlots(model, terms = ~., layout = NULL, ask,
main = "", fitted = TRUE, AsIs=TRUE, plot = TRUE,
tests = TRUE, groups, ...)
## S3 method for class 'lm':
residualPlots(model, ...)
## S3 method for class 'glm':
residualPlots(model, ...)
### residualPlots calls residualPlot, so these arguments can be
### used with either function
residualPlot(model, ...)
## S3 method for class 'default':
residualPlot(model, variable = "fitted", type = "pearson",
groups,
plot = TRUE,
linear = TRUE,
quadratic = if(missing(groups)) TRUE else FALSE,
smoother=NULL, smoother.args=list(),
col.smooth=palette()[3],
labels,
id.method = "r",
id.n = if(id.method[1]=="identify") Inf else 0,
id.cex=1, id.col=palette()[1],
col = palette()[1], col.quad = palette()[2],
pch=1,
xlab, ylab, lwd = 1, lty = 1,
grid=TRUE, key=!missing(groups), ...)
## S3 method for class 'lm':
residualPlot(model, ...)
## S3 method for class 'glm':
residualPlot(model, variable = "fitted", type = "pearson",
plot = TRUE, quadratic = FALSE,
smoother = loessLine, smoother.args=list(k=3), ...)
~ .
is to plot against all predictors. For example, the
specification terms = ~ . - X3
would plot agaic(1, 1)
or c(4, 3)
, the layout
of the graph will have this many rows and columns. If not set, the program
will select an appropriate layout. If the number of graphs exceed nine, you
must select the laTRUE
, ask the user before drawing the next plot; if FALSE
, don't
ask.main=""
for no title.TRUE
, the default, include the plot against fitted values.FALSE
, terms that use the I
are skipped; if TRUE
, the default, they are included.TRUE
, draw the plot(s).TRUE
, display the curvature tests. With glm's, the argument start
is ignored in computing the curvature tests.residualPlot
and then to
plot
."fitted"
to plot versus fitted values.lm
objects since these are equivalent to ordinary residuals
with ols and correctly weighted residuals with wls. Any quoted string that
is an appropriate value of the residualPlots
, the grouping variable can also be set in the terms
argument, as described abTRUE
, adds a horizontal line at zero if no groups.
With groups, display the within level of groups ols regression of the residuals
as response and the horizontal axis as the regressor.TRUE
, fits the quadratic regression of the
vertical axis on the horizontal axis and displays a lack of fit test. Default
is TRUE
for lm
and FALSE
for glm
or if groups
noScatterplotSmoothers
For lm
objects the
default is NULL
. For glm
object the ScatterplotSmoothers
. For generalized linear models the
number of elements in the spline basis is set to
k=3
; this is done to allow fiid.n=0
for labeling no points. See
showLabels
for details of these arguments.!is.null(groups)
.lm
objects,
returns a data.frame with one row for each plot drawn, one column for
the curvature test statistic, and a second column for the corresponding
p-value. This function is used primarily for its side effect of drawing
residual plots.residualPlots
draws one or more residuals plots depending on the
value of the terms
and fitted
arguments. If terms = ~ .
,
the default, then a plot is produced of residuals versus each first-order
term in the formula used to create the model. Interaction terms, spline terms,
and polynomial terms of more than one predictor are
skipped. In addition terms that use the I(X^2)
,
will also be skipped unless you set the argument AsIs=TRUE
. A plot of
residuals versus fitted values is also included unless fitted=FALSE
.
In addition to plots, a table of curvature tests is displayed. For plots
against a term in the model formula, say X1
, the test displayed is
the t-test for for I(X^2)
in the fit of update, model, ~. + I(X^2))
.
Econometricians call this a specification test. For factors, the displayed
plot is a boxplot, no curvature test is computed, and grouping is ignored.
For fitted values, the test is Tukey's one-degree-of-freedom test for
nonadditivity. You can suppress the tests with the argument tests=FALSE
.
If grouping is used curvature tests are not displayed.
residualPlot
, which is called by residualPlots
,
should be viewed as an internal function, and is included here to display its
arguments, which can be used with residualPlots
as well. The
residualPlot
function returns the curvature test as an invisible result.
residCurvTest
computes the curvature test only. For any factors a
boxplot will be drawn. For any polynomials, plots are against the linear term.
Other non-standard predictors like B-splines are skipped.lm
, identify
,
showLabels
m1 <- lm(prestige ~ income, data=Prestige)
residualPlots(m1)
residualPlots(m1, terms= ~ 1 | type) # plot vs. yhat grouping by type
Run the code above in your browser using DataLab