calibWeights {laeken} | R Documentation |
Calibrate sample weights
Description
Calibrate sample weights according to known marginal population totals. Based on initial sample weights, the so-called g-weights are computed by generalized raking procedures.
Usage
calibWeights(
X,
d,
totals,
q = NULL,
method = c("raking", "linear", "logit"),
bounds = c(0, 10),
maxit = 500,
tol = 1e-06,
eps = .Machine$double.eps
)
Arguments
X |
a matrix of binary calibration variables (see
|
d |
a numeric vector giving the initial sample weights. |
totals |
a numeric vector of population totals corresponding to the
calibration variables in |
q |
a numeric vector of positive values accounting for heteroscedasticity. Small values reduce the variation of the g-weights. |
method |
a character string specifying the calibration method to be
used. Possible values are |
bounds |
a numeric vector of length two giving bounds for the g-weights to be used in the logit method. The first value gives the lower bound (which must be smaller than or equal to 1) and the second value gives the upper bound (which must be larger than or equal to 1). |
maxit |
a numeric value giving the maximum number of iterations. |
tol |
the desired accuracy for the iterative procedure. |
eps |
the desired accuracy for computing the Moore-Penrose generalized
inverse (see |
Details
The final sample weights need to be computed by multiplying the resulting g-weights with the initial sample weights.
Value
A numeric vector containing the g-weights.
Note
This is a faster implementation of parts of calib
from
package sampling
. Note that the default calibration method is
raking and that the truncated linear method is not yet implemented.
Author(s)
Andreas Alfons
References
Deville, J.-C. and Särndal, C.-E. (1992) Calibration estimators in survey sampling. Journal of the American Statistical Association, 87(418), 376–382.
Deville, J.-C., Särndal, C.-E. and Sautory, O. (1993) Generalized raking procedures in survey sampling. Journal of the American Statistical Association, 88(423), 1013–1020.
See Also
Examples
data(eusilc)
# construct auxiliary 0/1 variables for genders
aux <- calibVars(eusilc$rb090)
# population totals
totals <- c(3990798, 4191431)
# compute g-weights
g <- calibWeights(aux, eusilc$rb050, totals)
# compute final weights
weights <- g * eusilc$rb050
summary(weights)