twang
Objectsbal.tab.ps.Rd
Generates balance statistics for ps
, mnps
, and iptw
objects from twang and for ps.cont
objects from twangContinuous.
# S3 method for 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,
pairwise = TRUE,
s.weights = NULL,
abs = FALSE,
subset = NULL,
quick = TRUE,
...)
a ps
, mnps
, iptw
, or ps.cont
object; the output of a call to twang::ps()
, twang::mnps()
, twang::iptw()
or twangContinuous::ps.cont()
.
a string containing the names of the stopping methods used in the original call to ps()
, mnps()
, or iptw()
. Examples include "es.max"
or "ks.mean"
for ps
and mnps
objects. bal.tab
will assess balance for the weights created by those stopping methods. The names can be abbreviated as long as the abbreviations are specific enough. If no stopping methods are provided, bal.tab
will default to displaying balance for all available stopping methods. Ignored for ps.cont
objects.
see bal.tab()
for details.
See below for special notes on the distance
, s.d.denom
, and s.weights
arguments.
The following arguments have special notes when used with these input objects:
the propensity scores generated by ps()
and iptw()
(but not mnps()
or ps.cont()
) are automatically included and named "prop.score.stop.method".
if not specified, for ps
objects, bal.tab()
will use "treated" if the estimand of the call to ps()
is the ATT and "pooled" if the estimand is the ATE; for mnps
objects, bal.tab()
will use "treated" if treatATT
was specified in the original call to mnps
and "pooled" otherwise. Use "all" to get the same values computed by bal.table
in twang. Abbreviations allowed.
if sampw
was supplied in the call to ps()
, mnps()
, iptw()
, or ps.cont()
, they will automatically be supplied to s.weights
and do not need be specified again (though there is no harm if they are).
bal.tab.ps()
generates a list of balance summaries for the input object given, and functions similarly to twang::bal.table()
.
For binary or continuous 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.
The function twang::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.
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")
#> To reproduce results from prior versions of the twang package, please see the version="legacy" option described in the documentation.
## 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 = "ks.mean", un = TRUE,
m.threshold = .1, disp.ks = TRUE)
#> Balance Measures
#> Type Diff.Un KS.Un Diff.Adj M.Threshold KS.Adj
#> prop.score Distance 2.8072 0.8294 0.5712 0.2164
#> age Contin. -0.3094 0.1577 0.0538 Balanced, <0.1 0.0980
#> educ Contin. 0.0550 0.1114 -0.0810 Balanced, <0.1 0.0678
#> married Binary -0.3236 0.3236 0.0029 Balanced, <0.1 0.0029
#> race_black Binary 0.6404 0.6404 0.0176 Balanced, <0.1 0.0176
#> race_hispan Binary -0.0827 0.0827 0.0014 Balanced, <0.1 0.0014
#> race_white Binary -0.5577 0.5577 -0.0191 Balanced, <0.1 0.0191
#> nodegree Binary 0.1114 0.1114 0.0637 Balanced, <0.1 0.0637
#> re74 Contin. -0.7211 0.4470 0.1060 Not Balanced, >0.1 0.0591
#> re75 Contin. -0.2903 0.2876 0.1217 Not Balanced, >0.1 0.0941
#>
#> Balance tally for mean differences
#> count
#> Balanced, <0.1 7
#> Not Balanced, >0.1 2
#>
#> Variable with the greatest mean difference
#> Variable Diff.Adj M.Threshold
#> re75 0.1217 Not Balanced, >0.1
#>
#> Effective sample sizes
#> Control Treated
#> Unadjusted 429. 185
#> Adjusted 25.5 185