residual.plots
Residual plots for a linear model.
Residual plots for a linear model. Four sets of plots are produced: (1) response against each of the predictor variables, (2) residuals against each of the predictor variables, (3) partial residuals for each predictor against that predictor ("partial residuals plots", and (4) partial residuals against the residuals of each predictor regressed on the other predictors ("added variable plots").
- Keywords
- hplot, regression
Usage
residual.plots(lm.object, X=dft$x,
layout=c(dim(X)[2],1),
par.strip.text=list(cex=.8),
scales.cex=.6,
na.action=na.pass,
y.relation="free",
...)
Arguments
- lm.object
An object inheriting from
"lm"
. It may be necessary for thelm.object
to be constructed with argumentsx=TRUE, y=TRUE
.- X
The x matrix of predictor variables used in the linear model
lm.object
.- layout, par.strip.text
trellis or lattice arguments.
- scales.cex
cex
argument forwarded to the scales argument ofxyplot
.- na.action
A function to filter missing data. See
lm
.- y.relation
See
relation
in the discussion of thescales
argument in- …
Other arguments for
xysplom
orxyplot
.
Value
A list of four trellis objects, one for each of the four sets of
plots. The objects are named "y.X"
, "res.X"
"pres.X"
, "pres.Xj"
. The default "printing" of the
result will produce four pages of plots, one set per page. They are
often easier to read when all four sets appear as separate rows on one
page (this usually requires an oversize device), or two rows are
printed on each of two pages.
References
Heiberger, Richard M. and Holland, Burt (2015). Statistical Analysis and Data Display: An Intermediate Course with Examples in R. Second Edition. Springer-Verlag, New York. https://www.springer.com/us/book/9781493921218
See Also
Examples
# NOT RUN {
if.R(s={
longley <- data.frame(longley.x, Employed = longley.y)
},r={
data(longley)
})
longley.lm <- lm( Employed ~ . , data=longley, x=TRUE, y=TRUE)
## 'x=TRUE, y=TRUE' are needed to pass the S-Plus CMD check.
## They may be needed if residual.plots() is inside a nested set of
## function calls.
tmp <- residual.plots(longley.lm)
## print two rows per page
print(tmp[[1]], position=c(0, 0.5, 1, 1.0), more=TRUE)
print(tmp[[2]], position=c(0, 0.0, 1, 0.5), more=FALSE)
print(tmp[[3]], position=c(0, 0.5, 1, 1.0), more=TRUE)
print(tmp[[4]], position=c(0, 0.0, 1, 0.5), more=FALSE)
## print as a single trellis object
ABCD <- do.call(rbind, lapply(tmp, as.vector))
dimnames(ABCD)[[1]] <- dimnames(tmp[[1]])[[1]]
ABCD
# }