50% off: Unlimited data and AI learning.
State of Data and AI Literacy Report 2025

cobalt (version 4.4.1)

bal.tab.ps: Balance Statistics for twang Objects

Description

Generates balance statistics for ps, mnps, and iptw objects from twang and for ps.cont objects from twangContinuous.

Usage

# 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,
        ...)

Value

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.

Arguments

x

a ps, mnps, iptw, or ps.cont object; the output of a call to twang::ps(), twang::mnps(), twang::iptw() or twangContinuous::ps.cont().

stop.method

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.

stats, int, poly, addl, data, continuous, binary, thresholds, weights, cluster, imp, pairwise, abs, subset, quick, ...

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:

distance

the propensity scores generated by ps() and iptw() (but not mnps() or ps.cont()) are automatically included and named "prop.score.stop.method".

s.d.denom

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.

s.weights

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).

Author

Noah Greifer

Details

bal.tab.ps() generates a list of balance summaries for the input object given, and functions similarly to twang::bal.table().

See Also

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.

Examples

Run this code
if (FALSE) { # requireNamespace("twang", quietly = TRUE)
library(twang); data("lalonde", package = "cobalt")

## 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)

}

Run the code above in your browser using DataLab