These functions construct added-variable (also called partial-regression) plots for linear and generalized linear models.
avPlots(model, terms=~., intercept=FALSE, layout=NULL, ask, main, ...)avp(...)
avPlot(model, ...)
# S3 method for lm
avPlot(model, variable,
id.method = list(abs(residuals(model, type="pearson")), "x"),
labels,
id.n = if(id.method[1]=="identify") Inf else 0,
id.cex=1, id.col=palette()[1], id.location="lr",
col = palette()[1], col.lines = palette()[2],
xlab, ylab, pch = 1, lwd = 2,
main=paste("Added-Variable Plot:", variable),
grid=TRUE,
ellipse=FALSE, ellipse.args=NULL,
marginal.scale=FALSE, ...)
# S3 method for glm
avPlot(model, variable,
id.method = list(abs(residuals(model, type="pearson")), "x"),
labels,
id.n = if(id.method[1]=="identify") Inf else 0,
id.cex=1, id.col=palette()[1], id.location="lr",
col = palette()[1], col.lines = palette()[2],
xlab, ylab, pch = 1, lwd = 2, type=c("Wang", "Weisberg"),
main=paste("Added-Variable Plot:", variable), grid=TRUE,
ellipse=FALSE, ellipse.args=NULL, ...)
model object produced by lm
or glm
.
A one-sided formula that specifies a subset of the predictors.
One added-variable plot is drawn for each term. For example, the
specification terms = ~.-X3
would plot against all terms
except for X3
. If this argument is a quoted name of one of the terms, the
added-variable plot is drawn for that term only.
Include the intercept in the plots; default is FALSE
.
A quoted string giving the name of a regressor in the model matrix for the horizontal axis
If set to a value like c(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 layout yourself, or you will get a maximum of nine per page.
If layout=NA
, the function does not set the layout and the user can
use the par
function to control the layout, for example to have
plots from two models in the same graphics window.
The title of the plot; if missing, one will be supplied.
If TRUE
, ask the user before drawing the next plot; if FALSE
don't ask.
avPlots
passes these arguments to avPlot
.
avPlot
passes them to plot
.
Arguments for the labelling of
points. The default is id.n=0
for labeling no points. See
showLabels
for details of these arguments.
color for the fitted line.
plotting character for points; default is 1
(a circle, see par
).
line width; default is 2
(see par
).
x-axis label. If omitted a label will be constructed.
y-axis label. If omitted a label will be constructed.
if "Wang"
use the method of Wang (1985);
if "Weisberg"
use the method in the Arc software associated with
Cook and Weisberg (1999).
If TRUE
, the default, a light-gray background grid is put on the graph.
If TRUE
, plot a concentration ellipse; default is FALSE
.
Arguments to pass to the link{dataEllipse}
function, in the form of a list
with named elements; e.g., ellipse.args=list(robust=TRUE))
will cause the ellipse to be plotted using
a robust covariance-matrix.
Consider an added-variable plot of Y versus X given Z. If this argument is FALSE
then the limits on the horizontal axis are determined by the range of the residuals from the regression of X on Z and the limits on the vertical axis are determined by the range of the residuals from the regressnio of Y on Z. If the argument is TRUE
, then the limits on the horizontal axis are determined by the range of X minus it mean, and on the vertical axis by the range of Y minus its means; adjustment is made if necessary to include outliers. This scaling allows visualization of the correlations between Y and Z and between X and Z. For example, if the X and Z are highly correlated, then the points will be concentrated on the middle of the plot.
These functions are used for their side effect id producing plots, but also invisibly return the coordinates of the plotted points.
The function intended for direct use is avPlots
(for which avp
is an abbreviation).
Cook, R. D. and Weisberg, S. (1999) Applied Regression, Including Computing and Graphics. Wiley.
Fox, J. (2008) Applied Regression Analysis and Generalized Linear Models, Second Edition. Sage.
Fox, J. and Weisberg, S. (2011) An R Companion to Applied Regression, Second Edition, Sage.
Wang, P C. (1985) Adding a variable in generalized linear models. Technometrics 27, 273--276.
Weisberg, S. (2014) Applied Linear Regression, Fourth Edition, Wiley.
residualPlots
, crPlots
, ceresPlots
, link{dataEllipse}
# NOT RUN {
avPlots(lm(prestige~income+education+type, data=Duncan))
avPlots(glm(partic != "not.work" ~ hincome + children,
data=Womenlf, family=binomial))
m1 <- lm(partic ~ tfr + menwage + womwage + debt + parttime, Bfox)
par(mfrow=c(1,3))
plot(partic ~ womwage, Bfox) # marginal plot, ignoring other predictors
abline(lm(partic ~ womwage, Bfox), col="red", lwd=2)
grid()
avPlots(m1, ~ womwage) # av Plot, adjusting for others
avPlots(m1, ~ womwage, marginal.scale=TRUE) # av Plot, adjusting and scaling as in marginal plot
# }
Run the code above in your browser using DataLab