This is a basic weighted standard deviation function, mainly for internal use with sumtable. For a more fully-fledged weighted SD function, see Hmisc::wtd.var, although it uses a slightly differend degree-of-freedom correction.

weighted.sd(x, w, na.rm = TRUE, type = "frequency")

Arguments

x

A numeric vector.

w

A vector of weights. Negative weights are not allowed.

na.rm

Set to TRUE to remove indices with missing values in x or w.

type

The type of weights to use. The default is 'frequency', which is applied when the weights represent frequencies. Also supports 'precision' which is to be used when the weights represent precision.

Examples

x <- c(1, 1, 2, 3, 4, 4, 4)
w <- c(4, 1, 3, 7, 0, 2, 5)
weighted.sd(x, w)
#> [1] 1.243828