optmatch icon indicating copy to clipboard operation
optmatch copied to clipboard

informative error on impossible matches

Open josherrickson opened this issue 2 years ago • 0 comments

In the past, if a user tried to pass something impossible (e.g. pairmatch(pr ~ cost, controls = 100, data = nuclearplants)), they'd get the following:

## Error in pairmatch.matrix(m, controls = controls, data = mfd,
##   remove.unmatchables = remove.unmatchables, : not enough
##   controls in some subclasses

(Taken from some old slides that I'm in the process of updating.)

Now, the same code produces:

## Error in fullmatch.matrix(x = x, min.controls = controls, 
##    max.controls = controls, : negative 'omit.fraction' with
##    'min.controls' >= 2 not permitted

The former was much more clear to end-users. I get they say the same thing, but a user using e.g. pairmatch may not have any idea what omit.fraction or min.controls are.

I haven't looked into whether we've change the actual error, or (more likely) the order of operations has changed such that this second error gets hit earlier. Either way, I think we should try and catch this issue and error more informatively. Something like "The restrictions on the matched set sizes through controls/min.control/max.controls/omit.fraction are impossible to meet."

josherrickson avatar Jan 06 '23 16:01 josherrickson