mc {robustbase} | R Documentation |
Compute the ‘medcouple’, a robust concept and estimator of skewness. The medcouple is defined as a scaled median difference of the left and right half of distribution, and hence not based on the third moment as the classical skewness.
mc(x, na.rm = FALSE, doReflect = (length(x) <= 100), eps1 = .Machine$double.eps, eps2 = .Machine$double.xmin, maxit = 100, trace.lev = 0, full.result = FALSE)
x |
a numeric vector |
na.rm |
logical indicating how missing values ( |
doReflect |
logical indicating if the internal MC should also be
computed on the reflected sample |
eps1,eps2 |
tolerance in the algorithm; only change with care! |
maxit |
maximul number of iterations; typically a few should be sufficient. |
trace.lev |
integer specifying how much diagnostic output the
algorithm (in C) should produce. No output by default, most output
for |
full.result |
logical indicating if the full return values (from
C) should be returned as a list via |
a number between -1 and 1, which is the medcouple, MC(x).
For r <- mc(x, full.result = TRUE, ....)
, then
attr(r, "mcComp")
is a list with components
medc |
the medcouple mc.(x). |
medc2 |
the medcouple mc.(-x) if |
eps |
tolerances used. |
iter,iter2 |
number of iterations used. |
converged,converged2 |
logical specifying “convergence”. |
Guy Brys; modifications by Tobias Verbeke and bug fixes and extensions by Manuel Koller and Martin Maechler.
Guy Brys, Mia Hubert and Anja Struyf (2004) A Robust Measure of Skewness; JCGS 13 (4), 996–1017.
Hubert, M. and Vandervieren, E. (2008). An adjusted boxplot for skewed distributions, Computational Statistics and Data Analysis 52, 5186–5201.
Qn
for a robust measure of scale (aka
“dispersion”), ....
mc(1:5) # 0 for a symmetric sample x1 <- c(1, 2, 7, 9, 10) mc(x1) # = -1/3 data(cushny) mc(cushny) # 0.125 stopifnot(mc(c(-20, -5, -2:2, 5, 20)) == 0, mc(x1, doReflect=FALSE) == -mc(-x1, doReflect=FALSE), all.equal(mc(x1, doReflect=FALSE), -1/3, tolerance = 1e-12))