# exactMatch: Generate an exact matching set of subproblems. In optmatch: Functions for Optimal Matching

## Description

An exact match is one based on a factor. Within a level, all observations are allowed to be matched. An exact match can be combined with another distance matrix to create a set of matching subproblems.

## Usage

 ```1 2 3 4 5 6 7 8``` ```exactMatch(x, ...) ## S4 method for signature 'vector' exactMatch(x, treatment) ## S4 method for signature 'formula' exactMatch(x, data = NULL, subset = NULL, na.action = NULL, ...) ```

## Arguments

 `x` A factor vector or a formula, used to select method. `...` Additional arguments for methods. `treatment` A vector the same length as `x` that can be coerced to a two level factor (e.g. a vector of 1s and 0s or a logical vector). `data` A `data.frame` or `matrix` that contains the variables used in the formula `x`. `subset` an optional vector specifying a subset of observations to be used `na.action` A function which indicates what should happen when the data contain ‘NA’s

## Details

`exactMatch` creates a block diagonal matrix of 0s and `Inf`s. The pairs with 0 entries are within the same level of the factor and legitimate matches. `Inf` indicates units in different levels. `exactMatch` replaces the `structure.fmla` argument to several functions in previous versions of optmatch. For the `factor` method, the two vectors `x` and `treatment` must be the same length. The vector `x` is interpreted as indicating the grouping factors for the data, and the vector `treatment` indicates whether a unit is in the treatment or control groups. At least one of these two vectors must have names. For the `formula` method, the `data` argument may be omitted, in which case the method attempts to find the variables in the environment from which the function was called. This behavior, and the arguments `subset` and `na.action`, mimics the behavior of `lm`.

## Value

A matrix like object, which is suitable to be given as `distance` argument to `fullmatch` or `pairmatch`. The exact match will be only zeros and `Inf` values, indicating a possible match or no possible match, respectively. It can be added to a another distance matrix to create a subclassed matching problem.

## Author(s)

Mark M. Fredrickson

## See Also

`caliper`, `antiExactMatch`, `match_on`, `fullmatch`, `pairmatch`

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17``` ```data(nuclearplants) ### First generate a standard propensity score ppty <- glm(pr~.-(pr+cost), family = binomial(), data = nuclearplants) ppty.distances <- match_on(ppty) ### Only allow matches within the partial turn key plants pt.em <- exactMatch(pr ~ pt, data = nuclearplants) as.matrix(pt.em) ### Blunt matches: match.pt.em <- fullmatch(pt.em) print(match.pt.em, grouped = TRUE) ### Combine the propensity scores with the subclasses: match.ppty.em <- fullmatch(ppty.distances + pt.em) print(match.ppty.em, grouped = TRUE) ```

optmatch documentation built on May 29, 2017, 8:49 p.m.