This function computes the biweight location, a robust measure of central tendency for a numeric vector. The biweight location is less sensitive to outliers than the sample mean.
Usage
biweight_location(
x,
loc = stats::median(x),
c = 6,
tol = 1e-06,
max_iter = 50,
drop.na = FALSE
)Arguments
- x
A numeric vector.
- loc
Initial guess for the location (default: median of
x).- c
A numeric value specifying the tuning constant for the biweight estimator (
c = 6by default).- tol
Convergence tolerance for the iterative computation (default: 1e-6).
- max_iter
Maximum number of iterations (default: 50).
- drop.na
A logical value indicating whether to remove missing values (
NA) from the calculations. IfTRUE(the default), missing values will be removed. IfFALSE, missing values will be included in the calculations.
References
Mosteller, F., and Tukey, J. W. (1977). Data Analysis and Regression: A Second Course in Statistics. Addison-Wesley, pp. 203-209.
Examples
# Example 1: Compute biweight location for a vector
x <- c(seq(1,100))
tibble::tibble(
mean = mean(x),
med = stats::median(x),
biloc = biweight_location(x)
)
#> # A tibble: 1 × 3
#> mean med biloc
#> <dbl> <dbl> <dbl>
#> 1 50.5 50.5 50.5
# Example 2: Biweight location is robust to outliers
x <- c(seq(1,99), 1e3) # An outlier at 1000
tibble::tibble(
mean = mean(x),
med = stats::median(x),
biloc = biweight_location(x)
)
#> # A tibble: 1 × 3
#> mean med biloc
#> <dbl> <dbl> <dbl>
#> 1 59.5 50.5 50.0
