R: Spread-Level Plots

spreadLevelPlot {car} | R Documentation

## Spread-Level Plots

### Description

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

### Usage

    spreadLevelPlot(x, ...)

    slp(...)

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

    ## Default S3 method:
    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 class '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 class '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:

`Statistics` | a matrix with the lower-hinge, median, upper-hinge, and hinge-spread for each group. (Not for an `lm` object.)
`PowerTransformation` | spread-stabilizing power transformation, calculated as 1 - slope of the line fit to the plot.

### Author(s)

John Fox jfox@mcmaster.ca

### 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

`hccm`, `ncvTest`

### Examples

    spreadLevelPlot(interlocks + 1 ~ nation, data=Ornstein)
    slp(lm(interlocks + 1 ~ assets + sector + nation, data=Ornstein))

[Package car version 2.1-4 Index]