Learn R Programming

psych (version 2.4.1)

outlier: Find and graph Mahalanobis squared distances to detect outliers

Description

The Mahalanobis distance is \(D^2 = (x-\mu)' \Sigma^-1 (x-\mu)\) where \(\Sigma\) is the covariance of the x matrix. D2 may be used as a way of detecting outliers in distribution. Large D2 values, compared to the expected Chi Square values indicate an unusual response pattern. The mahalanobis function in stats does not handle missing data.

Usage

outlier(x, plot = TRUE, bad = 5,na.rm = TRUE, xlab, ylab, ...)

Value

The D2 values for each case

Arguments

x

A data matrix or data.frame

plot

Plot the resulting QQ graph

bad

Label the bad worst values

na.rm

Should missing data be deleted

xlab

Label for x axis

ylab

Label for y axis

...

More graphic parameters, e.g., cex=.8

Author

William Revelle

Details

Adapted from the mahalanobis function and help page from stats.

References

Yuan, Ke-Hai and Zhong, Xiaoling, (2008) Outliers, Leverage Observations, and Influential Cases in Factor Analysis: Using Robust Procedures to Minimize Their Effect, Sociological Methodology, 38, 329-368.

See Also

Examples

Run this code
#first, just find and graph the outliers
d2 <- outlier(sat.act)
#combine with the data frame and plot it with the outliers highlighted in blue
sat.d2 <- data.frame(sat.act,d2)
pairs.panels(sat.d2,bg=c("yellow","blue")[(d2 > 25)+1],pch=21)

Run the code above in your browser using DataLab