See the references for more.
Qn(x, constant = 2.21914, finite.corr = missing(constant))
s_Qn(x, mu.too = FALSE, ...)1 / (sqrt(2) * qnorm(5/8)) (as mentioned
already on p.1277, after (3.7) in Rousseeuw and Croux (1993)). If you need the old slightly off version for historical
reproducibility, you can use Qn.old().
Note that the relative difference is only about 1 in 1000, and that the correction should not affect the finite sample corrections for $n
TRUE unless
constant is specified.median(x) should
also be returned for s_Qn().s_Qn() passed to
Qn().Qn() returns a number, the $Qn$ robust scale
estimator, scaled to be consistent for $\sigma^2$ and
i.i.d. Gaussian observatsions, optionally bias corrected for finite
samples.s_Qn(x, mu.too=TRUE) returns a length-2 vector with location
($\mu$) and scale; this is typically only useful for
covOGK(*, sigmamu = s_Qn).
Christophe Croux and Peter J. Rousseeuw (1992) Time-Efficient Algorithms for Two Highly Robust Estimators of Scale, Computational Statistics, Vol. 1, ed. Dodge and Whittaker, Physica-Verlag Heidelberg, 411--428; available via Springer Link.
About the typo in the constant:
Christophe Croux (2010)
Private e-mail, Fri Jul 16, w/ Subject
Re: Slight inaccuracy of Qn implementation .......
mad for the most robust but much less efficient
scale estimator; Sn for a similar faster but less
efficient alternative. Finally, scaleTau2 which some
consider uniformly better than Qn or competitors.
set.seed(153)
x <- sort(c(rnorm(80), rt(20, df = 1)))
s_Qn(x, mu.too = TRUE)
Qn(x, finite.corr = FALSE)
Run the code above in your browser using DataLab