tbrm {dplR} | R Documentation |
This calculates a robust average that is unaffected by outliers.
tbrm(x, C = 9)
x |
a |
C |
a constant. |
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.
A numeric
mean.
Mikko Korpela
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.
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])