# shorth

##### A location estimator based on the shorth

A location estimator based on the shorth

- Keywords
- arith

##### Usage

`shorth(x, na.rm=FALSE, tie.action="mean", tie.limit=0.05)`

##### Arguments

- x
- Numeric
- na.rm
- Logical. If
`TRUE`

, then non-finite (according to`is.finite`

) values in`x`

are ignored. Otherwise, presence of non-finite or`NA`

values will lead to an error message. - tie.action
- Character scalar. See details.
- tie.limit
- Numeric scalar. See details.

##### Details

The shorth is the shortest interval that covers half of the
values in `x`

. This function calculates the mean of the `x`

values that lie in the shorth. This was proposed by Andrews (1972) as a
robust estimator of location.

Ties: if there are multiple shortest intervals,
the action specified in `ties.action`

is applied.
Allowed values are `mean`

(the default), `max`

and `min`

.
For `mean`

, the average value is considered; however, an error is
generated if the start indices of the different shortest intervals
differ by more than the fraction `tie.limit`

of `length(x)`

.
For `min`

and `max`

, the left-most or right-most, respectively, of
the multiple shortest intervals is considered.

Rate of convergence: as an estimator of location of a unimodal distribution, under regularity conditions, the quantity computed here has an asymptotic rate of only $n^{-1/3}$ and a complicated limiting distribution.

See `half.range.mode`

for an iterative version
that refines the estimate iteratively and has a builtin bootstrapping option.

##### Value

`x`

values that lie in the shorth.##### References

- G Sawitzki, “The Shorth Plot.”
Available at http://lshorth.r-forge.r-project.org/TheShorthPlot.pdf
- DF Andrews, “Robust Estimates of Location.”
Princeton University Press (1972).
- R Grueble, “The Length of the Shorth.” Annals of
Statistics 16, 2:619-628 (1988).
- DR Bickel and R Fruehwirth, “On a fast, robust estimator of the mode: Comparisons to other robust estimators with applications.” Computational Statistics & Data Analysis 50, 3500-3530 (2006).

##### See Also

##### Examples

```
x = c(rnorm(500), runif(500) * 10)
methods = c("mean", "median", "shorth", "half.range.mode")
ests = sapply(methods, function(m) get(m)(x))
if(interactive()) {
colors = 1:4
hist(x, 40, col="orange")
abline(v=ests, col=colors, lwd=3, lty=1:2)
legend(5, 100, names(ests), col=colors, lwd=3, lty=1:2)
}
```

*Documentation reproduced from package genefilter, version 1.48.1, License: Artistic-2.0*