weightedVarRcpp {carSurv}R Documentation

Estimate weighted variance

Description

Efficient C implementation of the sample variance estimator. The denominator is defined as sum of all weights.

Usage

weightedVarRcpp(y, w)

Arguments

y

Response. The mean of the response contains weights (numeric vector).

w

Weights for averaging (numeric vector).

Value

Weighted variance (numeric scalar).

Note

If all weights are set to 1, the denominator is identical to n. There are no safety checks of input arguments.

Author(s)

Thomas Welchowski

Examples

# Simulate a random vector
set.seed(3975)
x <- rnorm(100)
# Calculate variance with standard implementation
# Rescaling ensures that both calculations use same denominator "n"
varEst <- var(x) * (100-1) / 100
# Calculate weighted variance with equal weights
equalW <- rep(1/100, 100)
weightVarEst <- weightedVarRcpp(y=x, w=equalW)
# Output comparison
all.equal(varEst, weightVarEst)
# Runtime comparison
library(microbenchmark)
microbenchmark(Default=var(x), New=weightedVarRcppN(y=x, w=equalW), times=25)
# -> New method is multiple times faster

[Package carSurv version 1.0.0 Index]