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,
...)
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,
...)
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.
Not used.
Returns a numeric
scalar.
Missing values are dropped at the very beginning,
if argument na.rm
is TRUE
, otherwise not.
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
.