wmedian {complexlm}R Documentation

Weighted Median

Description

This calculates the weighted median of a vector x using the weights in w. Weights are re-scaled based on their sum.

Usage

wmedian(x, w = rep(1, length(x)))

Arguments

x

numeric, a vector containing the data from which to calculate the weighted median.

w

numeric, a vector of weights to give the data in x.

Details

Sorts x and w by size of the elements of x. Then re-scales the elements of w to be between 0 and 1. Then sets n equal to the sum of all scaled weights with values less than 0.5. If the (n+1)-th element of the rescaled weights is greater than 0.5, the weighted median is the (n+1)-th element of the sorted x. Otherwise it is the average of the (n+1)-th and (n+2)-th elements of the sorted x.

Value

numeric. The weighted median of x using w as the weights.

Note

This is not compatible with complex data.

References

F. Y. Edgeworth, XXII. On a New Method of Reducing Observations Relating to Several Quantities, (1888). Also see the Wikipedia article on weighted median for a very good explanation and a model algorithm.

See Also

stats::median

Examples

xx <- rnorm(10, 4L, 1.5)
ww <- runif(10)
wmedian(xx, ww)


[Package complexlm version 1.1.2 Index]