# tbrm: Calculate Tukey's Biweight Robust Mean In dplR: Dendrochronology Program Library in R

## Description

This calculates a robust average that is unaffected by outliers.

## Usage

 `1` ```tbrm(x, C = 9) ```

## Arguments

 `x` a `numeric` vector `C` a constant. `C` is preassigned a value of 9 according to the Cook reference below but other values are possible.

## Details

This is a one step computation that follows the Affy whitepaper below, see page 22. This function is called by `chron` to calculate a robust mean. `C` determines the point at which outliers are given a weight of 0 and therefore do not contribute to the calculation of the mean. `C = 9` sets values roughly +/-6 standard deviations to 0. `C = 6` is also used in tree-ring chronology development. Cook and Kairiukstis (1990) have further details.

An exact summation algorithm (Shewchuk 1997) is used. When some assumptions about the rounding of floating point numbers and conservative compiler optimizations hold, summation error is completely avoided. Whether the assumptions hold depends on the platform, i.e. compiler and CPU.

## Value

A `numeric` mean.

Mikko Korpela

## References

Statistical Algorithms Description Document, 2002, Affymetrix.

Cook, E. R. and Kairiukstis, L. A., editors (1990) Methods of Dendrochronology: Applications in the Environmental Sciences. Springer. ISBN-13: 978-0-7923-0586-6.

Mosteller, F. and Tukey, J. W. (1977) Data Analysis and Regression: a second course in statistics. Addison-Wesley. ISBN-13: 978-0-201-04854-4.

Shewchuk, J. R. (1997) Adaptive precision floating-point arithmetic and fast robust geometric predicates. Discrete and Computational Geometry, 18(3), 305–363.

`chron`

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12``` ```library(stats) library(utils) foo <- rnorm(100) tbrm(foo) mean(foo) ## Compare data(co021) co021.rwi <- detrend(co021, method = "ModNegExp") crn1 <- apply(co021.rwi, 1, tbrm) crn2 <- chron(co021.rwi) cor(crn1, crn2[, 1]) ```

### Example output

```[1] 0.05773733
[1] 0.09587412
Warning message:
executing %dopar% sequentially: no parallel backend registered
[1] 1
```

dplR documentation built on May 24, 2018, 3 a.m.