rrange function

Robust Range using Boxplot 'Quartiles'

Robust Range using Boxplot 'Quartiles'

Compute a robust range, i.e. the usual range() as long as there are no outliers, using the whisker boundaries of boxplot, i.e., boxplot.stats.

rrange(x, range=1, coef = 1.5, na.rm = TRUE)

Arguments

  • x: numeric vector the robust range of which shall be computed.
  • range: number for S compatibility; 1.5 * range is equivalent to coef.
  • coef: numeric multiplication factor definying the outlier boundary, see Details below.
  • na.rm: logical indicating how NA values should be handled; they are simply dropped when na.rm = TRUE as by default.

Details

The robust range is really just what boxplot.stats(x, coef=coef) returns as the whisker boundaries. This is the most extreme values x[j] still inside median plus/minus coef * IQR.

Returns

numeric vector c(m,M) with m<=Mm <= M which is (not strictly) inside range(x) = c(min(x),max(x)).

Author(s)

Martin Maechler, 1990.

See Also

range, fivenum, boxplot and boxplot.stats.

A more sophisticated robust range for (strongly) asymmetric data can be derived from the skewness adjusted boxplot statistics adjboxStats which is a generalization of boxplot.stats.

Examples

stopifnot(rrange(c(1:10,1000)) == c(1,10))
  • Maintainer: Martin Maechler
  • License: GPL (>= 2)
  • Last published: 2024-11-05