| boxplot.stats {base} | R Documentation |
Box Plot Statistics
Description
This function is typically called by boxplot to
gather the statistics necessary for producing box plots,
but may be invoked separately.
Usage
boxplot.stats(x, coef = 1.5, do.conf=TRUE, do.out=TRUE)
Arguments
x |
a numeric vector for which the boxplot will
be constructed ( |
coef |
this determines how far the plot “whiskers” extend out
from the box. If |
do.conf, do.out |
logicals; if |
Details
The two “hinges” are versions of the first and third quartile,
i.e. close to quantile(x, c(1,3)/4). The hinges equal
the quartiles for odd n (where n <- length(x)) and
differ for even n. Where the quartiles only equal observations
for n %% 4 == 1 (n\equiv 1 \bmod 4),
the hinges do so additionally for n %% 4 == 2
(n\equiv 2 \bmod 4), and are in the middle of
two observations otherwise.
Value
List with named components as follows:
stats |
a vector of length 5, containing the extreme of the lower whisker, the lower “hinge”, the median, the upper “hinge” and the extreme of the upper whisker. |
n |
the number of of non- |
conf |
the lower and upper extremes of the “notch” ( |
out |
the values of any data points which lie beyond the
extremes of the whiskers ( |
Note that $stats and $conf are sorted in increasing
order, unlike S, and that $n and $out include any
+- Inf values.
References
Tukey, J. W. (1977) Exploratory Data Analysis. Section 2C.
McGill, R., Tukey, J. W. and Larsen, W. A. (1978) Variations of box plots. The American Statistician 32, 12–16.
Velleman, P. F. and Hoaglin, D. C. (1981) Applications, Basics and Computing of Exploratory Data Analysis. Duxbury Press.
Emerson, J. D and Strenio, J. (1983). Boxplots and batch comparison. Chapter 3 of Understanding Robust and Exploratory Data Analysis, eds. D. C. Hoaglin, F. Mosteller and J. W. Tukey. Wiley.
See Also
fivenum, boxplot, bxp.
Examples
x <- c(1:100, 1000)
str(b1 <- boxplot.stats(x))
str(b2 <- boxplot.stats(x, do.conf=FALSE, do.out=FALSE))
stopifnot(b1 $ stats == b2 $ stats) # do.out=F is still robust
str(boxplot.stats(x, coef = 3, do.conf=FALSE))
## no outlier treatment:
str(boxplot.stats(x, coef = 0))
str(boxplot.stats(c(x, NA))) # slight change : n + 1
str(r <- boxplot.stats(c(x, -1:1/0)))
stopifnot(r$out == c(1000, -Inf, Inf))