This function builds a distance specification where treated units are infinitely far away from control units that share the same level of a given factor variable. This can be useful for ensuring that matched groups come from qualitatively different groups.

1 | ```
antiExactMatch(x, z)
``` |

`x` |
A factor across which matches should be allowed. |

`z` |
A treatment indicator factor (a numeric vector of 1 and 0, a logical vector, or a 2 level factor). |

The `exactMatch`

function provides a way of specifying
a matching problem where only units within a factor level may be
matched. This function provides the reverse scenario: a matching
problem in which only units across factor levels are permitted to
match. Like `exactMatch`

, the results of this function will
most often be used as a `within`

argument to
`match_on`

or another distance specification creation
function to limit the scope of the final distance specification
(i.e., disallowing any match between units with the same value on
the factor variable `x`

).

A distance specification that encodes the across factor level constraint.

`exactMatch`

, `match_on`

, `caliper`

, `fullmatch`

, `pairmatch`

1 2 3 4 5 6 7 8 9 10 11 | ```
data(nuclearplants)
# force entries to be within the same factor:
em <- fullmatch(exactMatch(pr ~ pt, data = nuclearplants), data = nuclearplants)
table(nuclearplants$pt, em)
# force treated and control units to have different values of `pt`:
z <- nuclearplants$pr
names(z) <- rownames(nuclearplants)
aem <- fullmatch(antiExactMatch(nuclearplants$pt, z), data = nuclearplants)
table(nuclearplants$pt, aem)
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.