# spreadLevelPlot

##### Spread-Level Plots

Creates plots for examining the possible dependence of spread on level, or an extension of these plots to the studentized residuals from linear models.

- Keywords
- hplot, regression

##### Usage

`spreadLevelPlot(x, ...)`slp(...)

# S3 method for formula
spreadLevelPlot(x, data=NULL, subset, na.action,
main=paste("Spread-Level Plot for", varnames[response],
"by", varnames[-response]), ...)

# S3 method for default
spreadLevelPlot(x, by, robust.line=TRUE,
start=0, xlab="Median", ylab="Hinge-Spread", point.labels=TRUE, las=par("las"),
main=paste("Spread-Level Plot for", deparse(substitute(x)),
"by", deparse(substitute(by))), col=palette()[1], col.lines=palette()[2],
pch=1, lwd=2, grid=TRUE, ...)

# S3 method for lm
spreadLevelPlot(x, robust.line=TRUE,
smoother=loessLine, smoother.args=list(),
xlab="Fitted Values",
ylab="Absolute Studentized Residuals", las=par("las"),
main=paste("Spread-Level Plot for\n", deparse(substitute(x))),
pch=1, col=palette()[1], col.lines=palette()[2], col.smoother=palette()[3],
lwd=2, grid=TRUE, labels,
id.method = "mahal",
id.n = if(id.method[1]=="identify") Inf else 0,
id.cex=1, id.col=palette()[1], id.location="lr", ...)
# S3 method for spreadLevelPlot
print(x, ...)

##### Arguments

- x
a formula of the form

`y ~ x`

, where`y`

is a numeric vector and`x`

is a factor, or an`lm`

object to be plotted; alternatively a numeric vector.- data
an optional data frame containing the variables to be plotted. By default the variables are taken from the environment from which

`spreadLevelPlot`

is called.- subset
an optional vector specifying a subset of observations to be used.

- na.action
a function that indicates what should happen when the data contain

`NA`

s. The default is set by the`na.action`

setting of`options`

.- by
a factor, numeric vector, or character vector defining groups.

- robust.line
if

`TRUE`

a robust line is fit using the`rlm`

function in the`MASS`

package; if`FALSE`

a line is fit using`lm`

.- smoother
a function to draw a nonparametric-regression smooth; the default is

`loessLine`

, which does loess smoothing. The function`gamLine`

fits a generalized additive model and allows including a link and error function. See`ScatterplotSmoothers`

. Setting this argument to something other than a function, e.g.,`FALSE`

suppresses the smoother.- smoother.args
a list of named values to be passed to the smoother function; the specified elements of the list depend upon the smoother (see

`ScatterplotSmoothers`

).- start
add the constant

`start`

to each data value.- main
title for the plot.

- xlab
label for horizontal axis.

- ylab
label for vertical axis.

- point.labels
if

`TRUE`

label the points in the plot with group names.- las
if

`0`

, ticks labels are drawn parallel to the axis; set to`1`

for horizontal labels (see`par`

).- col
color for points; the default is the first entry in the current color palette (see

`palette`

and`par`

).- col.lines
color for lines; default is the second entry in the current palette

- col.smoother
color for smooth line; default is third entry in the current palette.

- pch
plotting character for points; default is

`1`

(a circle, see`par`

).- lwd
line width; default is

`2`

(see`par`

).- grid
If TRUE, the default, a light-gray background grid is put on the graph

- id.method,labels,id.n,id.cex,id.col,id.location
Arguments for the labelling of points. The default is

`id.n=0`

for labeling no points with the`lm`

method. See`showLabels`

for details of these arguments.- …
arguments passed to plotting functions.

##### Details

Except for linear models, computes the statistics for, and plots, a Tukey spread-level plot of log(hinge-spread) vs. log(median) for the groups; fits a line to the plot; and calculates a spread-stabilizing transformation from the slope of the line.

For linear models, plots log(abs(studentized residuals) vs. log(fitted values). Point labeling was added in November, 2016.

The function `slp`

is an abbreviation for `spreadLevelPlot`

.

##### Value

An object of class `spreadLevelPlot`

containing:

a matrix with the lower-hinge, median, upper-hinge, and hinge-spread
for each group. (Not for an `lm`

object.)

spread-stabilizing power transformation, calculated as \(1 - slope\) of the line fit to the plot.

##### References

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.

Hoaglin, D. C., Mosteller, F. and Tukey, J. W. (Eds.) (1983)
*Understanding Robust and Exploratory Data Analysis.* Wiley.

##### See Also

##### Examples

```
# NOT RUN {
spreadLevelPlot(interlocks + 1 ~ nation, data=Ornstein)
slp(lm(interlocks + 1 ~ assets + sector + nation, data=Ornstein))
# }
```

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