It favors, in decreasing order of priority, fewer excluded subjects,
better balance (i.e. subsamples that diverge less from the expected
proportions, which are by default the proportions of the input groups), and
better (i.e. larger) test statistic for the matched groups.
The preference order for the last two items can be reversed by specifying
prefer_test = TRUE.
A logical vector for output 1, TRUE iff row is in the match.
is.in2
A logical vector for output 2, TRUE iff row is in the match.
condition
A factor vector containing condition labels.
covariates
A columnwise matrix containing
covariates to match the conditions on.
halting_test
A function to apply to 'covariates' (in matrix form)
which is TRUE iff the conditions are matched.
Signature: halting_test(condition, covariates, thresh).
The following halting tests are part of this package:
t_halt, U_halt,
l_halt, ad_halt,
ks_halt, wilks_halt,
f_halt.
You can create the intersection of two or more halting
tests using create_halting_test.
props
Either the desired proportions (percentage) of the
sample for each condition as a named vector,
or the names of the conditions
for which we prefer to preserve the subjects,
in decreasing order of preference. If not specified, the
(full) sample proportions are used.
This is enforced by the "heuristic1" method,
preferred among configurations with the same number of
total subjects by the "exhaustive" method, and
taken into account by the other methods to some extent.
For example, c(A = 0.4, B = 0.4, C = 0.2) means that
we would like the number of subjects in groups A, B, and
C to be around 40%, 40%, and 20% of the total number of
subjects, respectively. Whereas c("A", "B", "C") means
that if possible, we would like to keep all subjects
in group A, and prefer keeping subjects in B, even if
it results in losing more subjects from C.
prefer_test
If TRUE, prefers higher test statistic more than
the group size proportion; default is FALSE if props
is specified, TRUE if it is not.
tiebreaker
NULL, or a function similar to halting_test, used to
decide between cases for which halting_test yields
equal values.
Value
A number that is > 0 if is.in1 is a better solution than is.in2,
< 0 if is.in1 is a worse solution than is.in2, or
0 if the two solutions are equivalent (not necessarily identical).