#' @title Function to compute Tukey's Biweight Robust Mean
#'
#' @description
#' Computation of Tukey's Biweight Robust Mean, a robust average that is
#' unaffected by outliers.
#'
#' @usage
#' tbrm(x, C = 9)
#'
#' @param x a numeric vector
#' @param 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.
#' Retrieved from tbrm.
#'
#' @return
#' A numeric mean.
#'
#' @references
#' Statistical Algorithms Description Document, 2002, Affymetrix. p22.
#' Cook, E. R. and Kairiukstis, L.A. (1990) Methods of Dendrochronology:
#' Applications in the Environmental Sciences. ISBN-13: 978-0792305866.
#' Mosteller, F. and Tukey, J. W. (1977) Data Analysis and Regression:
#' a second course in statistics. Addison-Wesley. ISBN-13: 978-0201048544.
#'
#' @seealso
#' chron
#'
#' @examples
#' tbrm(rnorm(100))
#'
#' @md
#' @export
tbrm <-
function(x,C=9)
{
x=x[!is.na(x)]
wt=rep(0, length(x))
x.med=median(x)
S.star=median(abs(x - x.med))
w0=(x - x.med)/(C * S.star + 1e-06)
lt0.flag=abs(w0) <= 1
wt[lt0.flag]=((1 - w0^2)^2)[lt0.flag]
t.bi.m=sum(wt * x)/sum(wt)
t.bi.m
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.