Computes a weighted variance / standard deviation of a numeric vector or across rows or columns of a matrix.
weightedVar(x, w = NULL, idxs = NULL, na.rm = FALSE, center = NULL,
  ...)weightedSd(...)
rowWeightedVars(x, w = NULL, rows = NULL, cols = NULL, na.rm = FALSE,
  ..., useNames = TRUE)
colWeightedVars(x, w = NULL, rows = NULL, cols = NULL, na.rm = FALSE,
  ..., useNames = TRUE)
rowWeightedSds(x, w = NULL, rows = NULL, cols = NULL, na.rm = FALSE,
  ..., useNames = TRUE)
colWeightedSds(x, w = NULL, rows = NULL, cols = NULL, na.rm = FALSE,
  ..., useNames = TRUE)
Returns a numeric scalar.
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.
A vector indicating subset of elements to
operate over. If NULL, no subsetting is done.
If TRUE, missing values are
excluded.
Optional numeric scalar specifying the
center location of the data.  If NULL, it is estimated
from data.
Not used.
A vector indicating subset of rows to
operate over. If NULL, no subsetting is done.
A vector indicating subset of columns to
operate over. If NULL, no subsetting is done.
If FALSE (default), no naming
support is done. Else if TRUE, names attributes
of result are set.
This function handles missing values consistently with
weightedMean().
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.
Henrik Bengtsson
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),
For the non-weighted variance, see var.