| bal.tab.ps {cobalt} | R Documentation |
Generates balance statistics for ps, mnps, and iptw objects from twang and for ps.cont objects from WeightIt. Note that several arguments that used to be documented here are now documented in display options. They are still available.
## S3 method for class 'ps'
bal.tab(x,
stop.method,
stats,
int = FALSE,
poly = 1,
distance = NULL,
addl = NULL,
data = NULL,
continuous,
binary,
s.d.denom,
thresholds = NULL,
weights = NULL,
cluster = NULL,
imp = NULL,
abs = FALSE,
subset = NULL,
quick = TRUE, ...)
## S3 method for class 'mnps'
bal.tab(x,
stop.method,
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 'iptw'
bal.tab(x,
stop.method,
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, ...)
## S3 method for class 'ps.cont'
bal.tab(x,
stop.method,
stats,
int = FALSE,
poly = 1,
distance = NULL,
addl = NULL,
data = NULL,
continuous,
binary,
s.d.denom,
thresholds = NULL,
weights = NULL,
cluster = NULL,
imp = NULL,
abs = FALSE,
subset = NULL,
quick = TRUE, ...)
x |
a |
stop.method |
a string containing the names of the stopping methods used in the original call to |
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 covariates should be standardized ("std") or raw ("raw"). Default "std". Abbreviations allowed. This option can be set globally using |
binary |
whether mean differences for binary covariates (i.e., difference in proportion) should be standardized ("std") or raw ("raw"). Default "raw". Abbreviations allowed. This option can be set globally using |
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 data or the |
imp |
either a vector containing imputation indices for each unit or a string containing the name of the imputation index variable in |
pairwise |
when treatment is multi-category, 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.ps() generates a list of balance summaries for the ps object given, and functions similarly to bal.table() in twang.
All balance statistics are calculated whether they are displayed by print or not, unless quick = TRUE. 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 binary point treatments, if clusters are not specified, an object of class "bal.tab" containing balance summaries for the ps object. See bal.tab 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.
If mnps() is used with multi-category treatments, an object of class "bal.tab.multi" containing balance summaries for each pairwise treatment comparison and a summary of balance across pairwise comparisons. See bal.tab.multi for details.
If ps.cont() is used with continuous treatments, means, mean differences, and variance ratios are replaced by (weighted) Pearson correlations between each covariate and treatment as calculated using col_w_corr. The r.threshold argument works the same as m.threshold, v.threshold, or ks.threshold, adding an extra column to the balance table output and creating additional summaries for balance tallies and maximum imbalances. All arguments related to the calculation or display of mean differences or variance ratios are ignored. The int, addl, un, distance, and cluster arguments are still used as described above.
The function bal.table in twang performs a similar function. The variances used in the denominator of the standardized mean difference are weighted and computed using survey::svyvar in twang and are unweighted here (except when s.weights are specified, in which case col_w_sd is used). twang also uses "all" as the default s.d.denom when the estimand is the ATE; the default here is "pooled". For this reason, results may differ slightly between the two packages.
Noah Greifer
bal.tab for details of calculations.
bal.tab.cluster for more information on clustered data.
bal.tab.multi for more information on multi-category treatments.
bal.tab.msm for more information on longitudinal treatments.
library(twang); data("lalonde", package = "cobalt")
## Not run:
## Using ps() for generalized boosted modeling
ps.out <- ps(treat ~ age + educ + married + race +
nodegree + re74 + re75, data = lalonde,
stop.method = c("ks.mean", "es.mean"),
estimand = "ATT", verbose = FALSE)
bal.tab(ps.out, stop.method = "es.max", un = TRUE,
m.threshold = .1, disp.ks = TRUE)
## End(Not run)