Marginal Model Plotting
For a regression object, plots the response on the vertical axis versus
a linear combination $u$ of terms in the mean function on the horizontal
axis. Added to the plot are a
loess smooth for the graph, along with
a loess smooth from the plot of the fitted values on $u$.
mmps is an alias
mmp is an alias for
marginalModelPlots(...) mmps(model, terms= ~ ., fitted=TRUE, layout=NULL, ask, main, groups, key=TRUE, ...) marginalModelPlot(...) ## S3 method for class 'lm': mmp(model, variable, sd = FALSE, xlab = deparse(substitute(variable)), smoother = loessLine, smoother.args=list(span=2/3), key=TRUE, pch, groups=NULL, ...) ## S3 method for class 'default': mmp(model, variable, sd = FALSE, xlab = deparse(substitute(variable)), smoother=loessLine, smoother.args, key=TRUE, pch, groups=NULL, col.line = palette()[c(4, 2)], col=palette(), labels, id.method="y", id.n=if(id.method=="identify") Inf else 0, id.cex=1, id.col=palette(), grid=TRUE, ...) ## S3 method for class 'glm': mmp(model, variable, sd = FALSE, xlab = deparse(substitute(variable)), smoother=gamLine, smoother.args=list(k=3), key=TRUE, pch, groups=NULL, col.line = palette()[c(4, 2)], col=palette(), labels, id.method="y", id.n=if(id.method=="identify") Inf else 0, id.cex=1, id.col=palette(), grid=TRUE, ...)
- A regression object, usually of class either
glm, for which there is a
- A one-sided formula. A marginal model plot will be drawn for
each variable on the right-side of this formula that is not a factor. The
~ ., which specifies that all the terms in
formula(object)will be used
- If the default
TRUE, then a marginal model plot in the direction of the fitted values or linear predictor of a generalized linear model will be drawn.
- If set to a value like
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 la
TRUE, ask before clearing the graph window to draw more plots.
- Main title for the array of plots. Use
main=""to suppress the title; if missing, a title will be supplied.
- Additional arguments passed from
mmpand then to
plot. Users should generally use
mmps, or equivalently
- The quantity to be plotted on the horizontal axis. The
default is the predicted values
predict(object). Can be any other vector of length equal to the number of observations in the object. Thus the
mmpfunction can be
TRUE, compare sd smooths. For a binomial regression with all sample sizes equal to one, this argument is ignored as the SD bounds don't make any sense.
- label for horizontal axis
- the name of the smoother to use, selected from the choices
ScatterplotSmoothers. For linear models and the default method, the default smoother is the function is the functio
- arguments passed to the smoother. For linear models the
defaults match the smoother used before September 2012, and may be changed
- The name of a vector that specifies a grouping variable for
separate colors/smoothers. This can also be specified as a conditioning
argument on the
TRUE, include a key at the top of the plot, if
FALSEomit the key. If grouping is present, the key is only printed for the upper-left plot.
- Arguments for labelling
points. The default
id.n=0suppresses labelling, and setting this argument greater than zero will include labelling. See
showLabelsfor these arguments.
- plotting character to use if no grouping is present.
- colors for data and model smooth, respectively. Using the default palette, these are blue and red.
- color(s) for the plotted points.
- If TRUE, the default, a light-gray background grid is put on the graph
marginalModelPlot draw one marginal model plot against
whatever is specified as the horizontal axis.
marginalModelPlots draws marginal model plots
versus each of the terms in the
terms argument and versus fitted values.
mmps skips factors and interactions if they are specified in the
terms argument. Terms based on polynomials or on splines (or
potentially any term that is represented by a matrix of predictors) will
be used to form a marginal model plot by returning a linear combination of the
terms. For example, if you specify
terms ~ X1 + poly(X2, 3) and
poly(X2, 3) was part of the original model formula, the horizontal
axis of the marginal model plot will be the value of
predict(model, type="terms")[, "poly(X2, 3)"]). If the
method for the model you are using doesn't support
then the polynomial/spline term is skipped. Adding a conditioning variable,
terms = ~ a + b | c, will produce marginal model plots for
b with different colors and smoothers for each unique non-missing
The smoothers used were changed in September 2012. For linear models, the
default smoother is still loess with the same smoothing parameters as were
used in the past, but these can be changed with the argument
For generalized linear models, the default smoother uses
a generalized additive model with the same family, link and weights as the fit of the
model. SD smooths are not computed for for generalized linear models.
For generalized linear models the default number of elements in the spline basis is
k=3; this is done to allow fitting for predictors with just a few support
points. If you have many support points you may wish to set
k to a higher
k=-1 for the default used by
- Used for its side effect of producing plots.
Fox, J. and Weisberg, S. (2011) An R Companion to Applied Regression, Second Edition. Sage. Weisberg, S. (2014) Applied Linear Regression, Fourth Edition, Wiley, Chapter 8.
c1 <- lm(infant.mortality ~ gdp, UN) mmps(c1) c2 <- update(c1, ~ poly(gdp, 4), data=na.omit(UN)) # plot against predict(c2, type="terms")[, "poly(gdp, 4)"] and # and against gdp mmps(c2, ~ poly(gdp,4) + gdp) # include SD lines p1 <- lm(prestige ~ income + education, Prestige) mmps(p1, sd=TRUE) # condition on type: mmps(p1, ~. | type) # logisitic regression example # smoothers return warning messages. # fit a separate smoother and color for each type of occupation. m1 <- glm(lfp ~ ., family=binomial, data=Mroz) mmps(m1)