Balance Statistics for WeightIt Objects
Generates balance statistics for weightit
and weightitMSM
objects from WeightIt.
## S3 method for class 'weightit' bal.tab(x, stats, int = FALSE, poly = 1, distance = NULL, addl = NULL, data = NULL, continuous, binary, s.d.denom, thresholds = NULL, weights = NULL, cluster = NULL, imp = NULL, pairwise = TRUE, abs = FALSE, subset = NULL, quick = TRUE, ...) ## S3 method for class 'weightitMSM' bal.tab(x, stats, int = FALSE, poly = 1, distance.list = NULL, addl.list = NULL, data = NULL, continuous, binary, s.d.denom, thresholds = NULL, weights = NULL, cluster = NULL, imp = NULL, pairwise = TRUE, abs = FALSE, subset = NULL, quick = TRUE, ...)
x |
a |
stats |
|
int |
|
poly |
|
distance, distance.list |
an optional formula or data frame containing distance values (e.g., propensity scores) or a character vector containing their names. If a formula or variable names are specified, |
addl, addl.list |
an optional formula or data frame containing additional covariates for which to present balance or a character vector containing their names. If a formula or variable names are specified, |
data |
an optional data frame containing variables that might be named in arguments to |
continuous |
whether mean differences for continuous variables should be standardized ( |
binary |
whether mean differences for binary variables (i.e., difference in proportion) should be standardized ( |
s.d.denom |
|
thresholds |
a named vector of balance thresholds, where the name corresponds to the statistic (i.e., in |
weights |
a named list containing additional weights on which to assess balance. Each entry can be a vector of weights, the name of a variable in |
cluster |
either a vector containing cluster membership for each unit or a string containing the name of the cluster membership variable in |
imp |
either a vector containing imputation indices for each unit or a string containing the name of the imputation index variable in |
pairwise |
whether balance should be computed for pairs of treatments or for each treatment against all groups combined. See |
abs |
|
subset |
a |
quick |
|
... |
further arguments to control display of output. See display options for details. |
bal.tab.weightit()
generates a list of balance summaries for the weightit
object given.
The threshold
argument controls whether extra columns should be inserted into the Balance table describing whether the balance statistics in question exceeded or were within the threshold. Including these thresholds also creates summary tables tallying the number of variables that exceeded and were within the threshold and displaying the variables with the greatest imbalance on that balance measure.
For point treatments, if clusters and imputations are not specified, an object of class "bal.tab"
containing balance summaries for the weightit
object. See bal.tab()
for details.
If imputations are specified, an object of class "bal.tab.imp"
containing balance summaries for each imputation and a summary of balance across imputations. See bal.tab.imp
for details.
If weightit()
is used with multi-category treatments, an object of class "bal.tab.multi"
containing balance summaries for each pairwise treatment comparison. See bal.tab.multi
for details.
If weightitMSM()
is used for longitudinal treatments, an object of class "bal.tab.msm"
containing balance summaries for each time period. See bal.tab.msm
for details.
If clusters are specified, an object of class "bal.tab.cluster"
containing balance summaries within each cluster and a summary of balance across clusters. See bal.tab.cluster
for details.
Noah Greifer
bal.tab()
for details of calculations.
library(WeightIt) data("lalonde", package = "cobalt") ## Basic propensity score weighting w.out1 <- weightit(treat ~ age + educ + race + married + nodegree + re74 + re75, data = lalonde, method = "ps") bal.tab(w.out1, un = TRUE, m.threshold = .1, v.threshold = 2) ## Weighting with a multi-category treatment w.out2 <- weightit(race ~ age + educ + married + nodegree + re74 + re75, data = lalonde, method = "ps", estimand = "ATE", use.mlogit = FALSE) bal.tab(w.out2, un = TRUE) ## IPW for longitudinal treatments data("iptwExWide", package = "twang") wmsm.out <- weightitMSM(list(tx1 ~ use0 + gender, tx2 ~ use0 + gender + use1 + tx1, tx3 ~ use0 + gender + use1 + tx1 + use2 + tx2), data = iptwExWide, stabilize = TRUE) bal.tab(wmsm.out)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.