R: Weighted variance and weighted standard deviation

weightedVar {matrixStats} | R Documentation

## Weighted variance and weighted standard deviation

### Description

Computes a weighted variance / standard deviation of a numeric vector or across rows or columns of a matrix.

### Usage

    weightedVar(x, w = NULL, idxs = NULL, na.rm = FALSE, center = NULL, ...)

    weightedSd(...)

    rowWeightedVars(x, w = NULL, rows = NULL, cols = NULL, na.rm = FALSE,
      ...)

    colWeightedVars(x, w = NULL, rows = NULL, cols = NULL, na.rm = FALSE,
      ...)

    rowWeightedSds(x, w = NULL, rows = NULL, cols = NULL, na.rm = FALSE,
      ...)

    colWeightedSds(x, w = NULL, rows = NULL, cols = NULL, na.rm = FALSE,
      ...)

### Arguments

`x` | a `numeric` `vector` containing the values whose weighted variance is to be computed.
`w` | a vector of weights the same length as `x` giving the weights to use for each element of `x`. Negative weights are treated as zero weights. Default value is equal weight to all values.
`idxs, rows, cols` | A `vector` indicating subset of elements (or rows and/or columns) to operate over. If `NULL`, no subsetting is done.
`na.rm` | a logical value indicating whether `NA` values in `x` should be stripped before the computation proceeds, or not. If `NA`, no check at all for `NA`s is done. Default value is `NA` (for efficiency).
`center` | Optional `numeric` scalar specifying the center location of the data. If `NULL`, it is estimated from data.
`...` | Not used.

### Details

The estimator used here is the same as the one used by the "unbiased" estimator of the Hmisc package. More specifically, `weightedVar(x, w = w) == Hmisc::wtd.var(x, weights = w)`,

### Value

Returns a `numeric` scalar.

### Missing values

Missing values are dropped at the very beginning, if argument `na.rm` is `TRUE`, otherwise not.

### Author(s)

Henrik Bengtsson

### See Also

For the non-weighted variance, see `var`.

[Package matrixStats version 0.54.0 Index]