Description Usage Arguments Details Value Author(s) References See Also Examples
View source: R/optweight.svy.fit.R
optweight.svy.fit
performs the optimization (via osqp; Anderson, 2018) for optweight.svy
and should, in most coses, not be used directly. No processing of inputs is performed, so they must be given exactly as described below.
1 2 3 4 5 6 7 8 9 10 
covs 
A matrix of covariates to be targeted. Should must be numeric but does not have to be full rank. 
tols 
A vector of target balance tolerance values. 
targets 
A vector of target populaton mean values for each covariate. The resulting weights will yield sample means within 
s.weights 
A vector of sampling weights. Optimization occurs on the product of the sampling weights and the estimated weights. 
norm 
A string containing the name of the norm corresponding to the objective function to minimize. The options are 
std.binary, std.cont 

min.w 
A single 
verbose 
Whether information on the optimization problem solution should be printed. This information contains how many iterations it took to estimate the weights and whether the solution is optimal. 
... 
Options that are passed to 
optweight.svy.fit
transforms the inputs into the required inputs for solve_osqp
, which are (sparse) matrices and vectors, and then supplies the outputs (the weights, duals variables, and convergence information) back to optweight.svy
. No processing of inputs is performed, as this is normally handled by optweight.svy
.
An optweight.svy.fit
object with the following elements:
w 
The estimated weights, one for each unit. 
duals 
A data.frame containing the dual variables for each covariate. See Zubizarreta (2015) for interpretation of these values. 
info 
The 
Noah Greifer
Anderson, E. (2018). osqp: Quadratic Programming Solver using the 'OSQP' Library. R package version 0.1.0. https://CRAN.Rproject.org/package=osqp
Wang, Y., & Zubizarreta, J. R. (2017). Approximate Balancing Weights: Characterizations from a Shrinkage Estimation Perspective. ArXiv:1705.00998 [Math, Stat]. Retrieved from http://arxiv.org/abs/1705.00998
Zubizarreta, J. R. (2015). Stable Weights that Balance Covariates for Estimation With Incomplete Outcome Data. Journal of the American Statistical Association, 110(511), 910–922. doi: 10.1080/01621459.2015.1023805
optweight.svy
which you should use for estimating the balancing weights, unless you know better.
https://osqp.org/docs/index.html for more information on osqp, the underlying solver, and the options for solve_osqp
.
osqpSettings
for details on options for solve_osqp
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21  library("cobalt")
data("lalonde", package = "cobalt")
covs < splitfactor(lalonde[c("age", "educ", "race",
"married", "nodegree")],
drop.first = FALSE)
targets < c(23, 9, .3, .3, .4, .2, .5)
tols < rep(0, 7)
ows.fit < optweight.svy.fit(covs,
tols = tols,
targets = targets,
norm = "l2")
#Unweighted means
apply(covs, 2, mean)
#Weighted means; same as targets
apply(covs, 2, weighted.mean, w = ows.fit$w)

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.