spreadLevelPlot: Spread-Level Plots

View source: R/spreadLevelPlot.R

spreadLevelPlotR 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=carPalette()[1], col.lines=carPalette()[2],
    pch=1, lwd=2, grid=TRUE, ...)

## S3 method for class 'lm'
spreadLevelPlot(x, robust.line=TRUE, 
	xlab="Fitted Values", ylab="Absolute Studentized Residuals", las=par("las"),
	main=paste("Spread-Level Plot for\n", deparse(substitute(x))),
	pch=1, col=carPalette()[1], col.lines=carPalette()[2:3], lwd=2, grid=TRUE, 
    id=FALSE, smooth=TRUE, ...)
	  
## 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 NAs. 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.

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 car palette (see carPalette and par).

col.lines

for the default method, the line color, defaulting to the second entry in the car color palette; for the "lm" method, a vector of two colors for, respectively, the fitted straight line and a nonparametric regression smooth line, default to the second and third entries in the car color 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

controls point identification; if FALSE (the default), no points are identified; can be a list of named arguments to the showLabels function; TRUE is equivalent to list(method=list("x", "y"), n=2, cex=1, col=carPalette()[1], location="lr"), which identifies the 2 points the most extreme horizontal ("X", absolute studentized residual) values and the 2 points with the most extreme horizontal ("Y", fitted values) values.

smooth

specifies the smoother to be used along with its arguments; if FALSE, no smoother is shown; can be a list giving the smoother function and its named arguments; TRUE, the default, is equivalent to list(smoother=loessLine). See ScatterplotSmoothers for the smoothers supplied by the car package and their 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. (2016) Applied Regression Analysis and Generalized Linear Models, Third Edition. Sage.

Fox, J. and Weisberg, S. (2019) An R Companion to Applied Regression, Third 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))

car documentation built on Sept. 27, 2024, 9:06 a.m.