I have a rxc contingency table that has values that are less than 1.

For Example:

income  VeryD LittleD
< 15k  2e-03  0.0057
15-25k 8e-04  0.0013
25-40k 1e-03  0.0010
> 40k  4e-03  0.0237

I receive the following error:

Error in fisher.test(Job) : FEXACT error 3. All elements of TABLE are zero. PRT and PRE are set to missing values. In addition: Warning message: In fisher.test(Job) : 'x' has been rounded to integer: Mean relative difference: 1

Is there something I can do to get around this error? I am not using counts but data that is normalized to account for volume.

  • 1
    $\begingroup$ What are veryD and LittleD? $\endgroup$
    – user158565
    Nov 5, 2018 at 20:41
  • 2
    $\begingroup$ Use the counts. $\endgroup$
    – whuber
    Nov 5, 2018 at 21:33
  • $\begingroup$ You can't "normalize to account for volume" and get a correct test. If you need to have some exposure measure included in the model, could (perhaps) look at a Poisson GLM with an offset. $\endgroup$
    – Glen_b
    Nov 6, 2018 at 7:12

1 Answer 1


Welcome to the site. If you don't have counts, you don't have a contingency table and you shouldn't use Fisher's exact test.

It looks like you are modeling satisfaction related to income and that satisfaction is on some sort of ordinal scale. I suggest that a good starting place, at least, would be ordinal logistic regression.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.