weightedMean {matrixStats} | R Documentation |
Weighted Arithmetic Mean
Description
Computes the weighted sample mean of a numeric vector.
Usage
weightedMean(x, w = NULL, idxs = NULL, na.rm = FALSE, refine = FALSE,
...)
Arguments
x |
|
w |
a vector of weights the same length as |
idxs |
A |
na.rm |
If |
refine |
If |
... |
Not used. |
Value
Returns a numeric
scalar. If x
is of
zero length, then NaN
is returned, which is consistent with
mean
().
Missing values
This function handles missing values consistently with
weighted.mean
. More precisely, if na.rm = FALSE
,
then any missing values in either x
or w
will give result
NA_real_
. If na.rm = TRUE
, then all (x, w)
data points
for which x
is missing are skipped. Note that if both x
and
w
are missing for a data points, then it is also skipped (by the same
rule). However, if only w
is missing, then the final results will
always be NA_real_
regardless of na.rm
.
Author(s)
Henrik Bengtsson
See Also
mean
() and weighted.mean
.
Examples
x <- 1:10
n <- length(x)
w <- rep(1, times = n)
m0 <- weighted.mean(x, w)
m1 <- weightedMean(x, w)
stopifnot(identical(m1, m0))
# Pull the mean towards zero
w[1] <- 5
m0 <- weighted.mean(x, w)
m1 <- weightedMean(x, w)
stopifnot(identical(m1, m0))
# Put even more weight on the zero
w[1] <- 8.5
m0 <- weighted.mean(x, w)
m1 <- weightedMean(x, w)
stopifnot(identical(m1, m0))
# All weight on the first value
w[1] <- Inf
m0 <- weighted.mean(x, w)
m1 <- weightedMean(x, w)
stopifnot(identical(m1, m0))
# All weight on the last value
w[1] <- 1
w[n] <- Inf
m0 <- weighted.mean(x, w)
m1 <- weightedMean(x, w)
stopifnot(identical(m1, m0))
# All weights set to zero
w <- rep(0, times = n)
m0 <- weighted.mean(x, w)
m1 <- weightedMean(x, w)
stopifnot(identical(m1, m0))