semEff (version 0.3.0)

varW: Weighted Variance

Description

Calculate the weighted variance of x.

Usage

varW(x, w = NULL, na.rm = FALSE, ...)

Arguments

x

A numeric vector.

w

A numeric vector of weights of the same length as x.

na.rm

Logical, whether NAs in x should be removed.

...

Not currently used.

Value

A numeric value, the weighted variance of x.

Details

Calculate the weighted variance of x via the weighted covariance matrix (cov.wt). If no weights are supplied, the simple variance is returned instead. As in weighted.mean, NAs in w are not handled specially and will return NA as result.

See Also

var, cov.wt, weighted.mean

Examples

Run this code
# NOT RUN {
## Weighted variance
x <- rnorm(30)
w <- runif(30, 0, 1)
varW(x, w)

## Simple variance
varW(x)
stopifnot(varW(x) == var(x))

## NA handling
varW(c(x[1:29], NA), w, na.rm = TRUE)  # NA in x (removed)
varW(c(x[1:29], NA), w, na.rm = FALSE)  # NA in x (NA returned)
varW(x[1:29], w = c(w[1:29], NA))  # NA in w (NA returned)
# }

Run the code above in your browser using DataLab