| mad | R Documentation |
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.
mad(x, center = median(x), constant = 1.4826, na.rm = FALSE,
low = FALSE, high = FALSE)
x |
a numeric vector. |
center |
Optionally, the centre: defaults to the median. |
constant |
scale factor. |
na.rm |
if |
low |
if |
high |
if |
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.
In the case of n = 1 non-missing values and default center, the
result is 0, consistent with “no deviation from the center”.
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.
IQR which is simpler but less robust,
median, var.
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))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.