Learn R Programming

psychmeta (version 1.0.2)

wt_dist: Weighted descriptive statistics for a vector of numbers

Description

Compute the weighted mean and variance of a vector of numeric values. If no weights are supplied, defaults to computing the unweighted mean and the unweighted maximum-likelihood variance.

Usage

wt_dist(x, wt = rep(1, length(x)), unbiased = TRUE)

wt_mean(x, wt = rep(1, length(x)))

wt_var(x, wt = rep(1, length(x)), unbiased = TRUE)

Arguments

x

Vector of values to be analyzed.

wt

Weights associated with the values in x.

unbiased

Logical scalar determining whether variance should be unbiased (TRUE) or maximum-likelihood (FALSE).

Value

A weighted mean and variance if weights are supplied or an unweighted mean and variance if weights are not supplied.

Details

The weighted mean is computed as $$\bar{x}_{w}=\frac{\Sigma_{i=1}^{k}x_{i}w_{i}}{\Sigma_{i=1}^{k}w_{i}}$$ where x is a numeric vector and w is a vector of weights.

The weighted variance is computed as $$var_{w}(x)=\frac{\Sigma_{i=1}^{k}\left(x_{i}-\bar{x}_{w}\right)^{2}w_{i}}{\Sigma_{i=1}^{k}w_{i}}$$ and the unbiased weighted variance is estimated by multiplying \(var_{w}(x)\) by \(\frac{k}{k-1}\).

Examples

Run this code
# NOT RUN {
wt_dist(x = c(.1, .3, .5), wt = c(100, 200, 300))
wt_mean(x = c(.1, .3, .5), wt = c(100, 200, 300))
wt_var(x = c(.1, .3, .5), wt = c(100, 200, 300))
# }

Run the code above in your browser using DataLab