mad
Median Absolute Deviation
Description
Compute the median absolute deviation, i.e., the (lo-/hi-) median of the absolute deviations from the median, and (by default) adjust by a factor for asymptotically normal consistency.
Usage
mad(x, center = median(x), constant = 1.4826, na.rm = FALSE, low = FALSE, high = FALSE)
Arguments
x | a numeric vector. |
center | Optionally, the centre: defaults to the median. |
constant | scale factor. |
na.rm | if |
low | if |
high | if |
Details
The actual value calculated is constant * cMedian(abs(x - center))
with the default value of center
being median(x)
, and cMedian
being the usual, the ‘low’ or ‘high’ median, see the arguments description for low
and high
above.
The default constant = 1.4826
(approximately 1/ Φ^(-1)(3/4) = 1/qnorm(3/4)
) ensures consistency, i.e.,
E[mad(X_1,…,X_n)] = σ
for X_i distributed as N(μ, σ^2) and large n.
If na.rm
is TRUE
then NA
values are stripped from x
before computation takes place. If this is not done then an NA
value in x
will cause mad
to return NA
.
See Also
IQR
which is simpler but less robust, median
, var
.
Examples
mad(c(1:9)) print(mad(c(1:9), constant = 1)) == mad(c(1:8, 100), constant = 1) # = 2 ; TRUE x <- c(1,2,3,5,7,8) sort(abs(x - median(x))) c(mad(x, constant = 1), mad(x, constant = 1, low = TRUE), mad(x, constant = 1, high = TRUE))
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.