# mmps

##### 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
for `marginalModelPlots`

, and `mmp`

is an alias for `marginalModelPlot`

.

- Keywords
- hplot, regression

##### Usage

```
marginalModelPlots(...)
mmps(model, terms= ~ ., fitted=TRUE, layout=NULL, ask,
main, ...)
marginalModelPlot(...)
## S3 method for class 'lm':
mmp(model, variable, mean = TRUE, sd = FALSE,
xlab = deparse(substitute(variable)), degree = 1, span = 2/3, key=TRUE,
...)
## S3 method for class 'default':
mmp(model, variable, mean = TRUE, sd = FALSE, xlab =
deparse(substitute(variable)), degree = 1, span = 2/3,
key = TRUE, col.line = palette()[c(4,2)], col=palette()[1],
labels, id.method = "y",
id.n=if(id.method[1]=="identify") Inf else 0,
id.cex = 1, id.col=palette()[1], grid=TRUE, ...)
## S3 method for class 'glm':
mmp(model, variable, mean = TRUE, sd = FALSE,
xlab = deparse(substitute(variable)), degree = 1, span = 2/3, key=TRUE,
col.line = palette()[c(4, 2)], col=palette()[1],
labels, id.method="y",
id.n=if(id.method[1]=="identify") Inf else 0,
id.cex=1, id.col=palette()[1], grid=TRUE, ...)
```

##### Arguments

- model
- A regression object, usually of class either
`lm`

or`glm`

, for which there is a`predict`

method defined. - terms
- 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
default is
`~ .`

, which specifies that all the terms in`formula(object)`

will be used - fitted
- 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. - layout
- 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 la - ask
- If
`TRUE`

, ask before clearing the graph window to draw more plots. - main
- Main title for the array of plots. Use
`main=""`

to suppress the title; if missing, a title will be supplied. - ...
- Additional arguments passed from
`mmps`

to`mmp`

and then to`plot`

. Users should generally use`mmps`

, or equivalently`marginalModelPlots`

. - variable
- 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`mmp`

function can be - mean
- If
`TRUE`

, compare mean smooths - sd
- If
`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. - xlab
- label for horizontal axis
- degree
- Degree of the local polynomial, passed to
`loess`

. The usual default for`loess`

is 2, but the default here is 1. - span
- Span, the smoothing parameter for
`loess`

. - key
- If
`TRUE`

, include a key at the top of the plot, if`FALSE`

omit the key - id.method,labels,id.n,id.cex,id.col
- Arguments for labelling
points. The default
`id.n=0`

suppresses labelling, and setting this argument greater than zero will include labelling. See`showLabels`

for these arguments. - col.line
- colors for data and model smooth, respectively. Using the default palette, these are blue and red.
- col
- color(s) for the plotted points.
- grid
- If TRUE, the default, a light-gray background grid is put on the graph

##### Details

`mmp`

and `marginalModelPlot`

draw one marginal model plot against
whatever is specified as the horizontal axis.
`mmps`

and `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 `predict`

method for the model you are using doesn't support `type="terms"`

,
then the polynomial/spline term is skipped.

##### Value

- Used for its side effect of producing plots.

##### References

Fox, J. and Weisberg, S. (2011)
*An R Companion to Applied Regression*, Second Edition. Sage.
Weisberg, S. (2005) *Applied
Linear Regression*, Third Edition, Wiley, Chapter 8.

##### See Also

##### Examples

```
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)
# logisitic regression example
# smoothers return warning messages.
m1 <- glm(lfp ~ ., family=binomial, data=Mroz)
mmps(m1)
```

*Documentation reproduced from package car, version 2.0-13, License: GPL (>= 2)*