Compute the balance - sample size frontier.

Share:

Description

makeFrontier() computes the balance - frontier sample size and can be used with estimateEffects to estimate effects along the balance - sample size frontier.

Usage

1
2
3
makeFrontier(dataset, treatment, outcome, match.on, 
             keep.vars = NULL, QOI = 'FSATT', metric = 'Mahal',
             ratio = 'fixed', breaks = NULL)

Arguments

dataset

The data set contain containing the treatment, outcome, and variable to match on.

treatment

The name of the treatment.

outcome

The name of the outcome.

match.on

A vector of colnames indicating which variables are to be matched on.

keep.vars

A character vector of variable names that are not in treatment, outcome, or 'match.on' but that the user would like to store in the data, either for calculation of model depedence intervals or for use in exported data sets.

QOI

The quantity of interest to be estimated. By default, feasible sample average treatment effect on the treated or FSATT. The other option is SATT (sample average treatment effect on the treated).

metric

The metric used to measure imbalance. Defaults to average mahalanobis distance to nearest match. The other option is L1.

ratio

Variable or fixed ratio. See King, Lucas, and Nielsen for details.

breaks

Can be used with L1 to provide user-specified breaks.

References

King, Gary, Christopher Lucas, and Richard Nielsen. "The Balance-Sample Size Frontier in Matching Methods for Causal Inference." (2015).

Examples

1
2
3
4
5
6
7
data(lalonde)

match.on <- colnames(lalonde)[!(colnames(lalonde) %in% c('re78', 'treat'))]
my.frontier <- makeFrontier(dataset = lalonde,
                            treatment = 'treat',
                            outcome = 're78',
                            match.on = match.on)