mad(x, center, constant=1.4826, na.rm=FALSE)
mad
provides a scale estimate based on the
median absolute deviation.
The actual value calculated is
constant * (median(abs(x - center)))
with the default value of
center
being median(x)
.
The default constant = 1.4826
(approximately
1/ Phi^(-1)(3/4) = 1/qnorm(3/4)
)
ensures consistency, i.e.,
E[mad(X_1,...,X_n)] = &sigma
for X_i distributed as N(&mu,&sigma^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