mad                  package:stats                  R Documentation

_M_e_d_i_a_n _A_b_s_o_l_u_t_e _D_e_v_i_a_t_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

     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.

_U_s_a_g_e:

     mad(x, center = median(x), constant = 1.4826, na.rm = FALSE,
         low = FALSE, high = FALSE)

_A_r_g_u_m_e_n_t_s:

       x: a numeric vector.

  center: Optionally, the centre: defaults to the median.

constant: scale factor.

   na.rm: if 'TRUE' then 'NA' values are stripped from 'x' before
          computation takes place.

     low: if 'TRUE', compute the "lo-median", i.e., for even sample
          size, do not average the two middle values, but take the
          smaller one.

    high: if 'TRUE', compute the "hi-median", i.e., take the larger of
          the two middle values for even sample size.

_D_e_t_a_i_l_s:

     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/ 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'.

_S_e_e _A_l_s_o:

     'IQR' which is simpler but less robust, 'median', 'var'.

_E_x_a_m_p_l_e_s:

     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, co=1), mad(x, co=1, lo = TRUE), mad(x, co=1, hi = TRUE))

