Chi Square Test on small sample size

I have the following dataset and I am trying to run a Chi-square test between the control and pilot.

The only issue is that, for a Chi-Square test to return proper results, the sample size need to be greater than 5. In my case, most of my observations are under 5.

Can anyone suggest me a different kind of statistical test I can run instead?

I have looked at the Fisher Exact Test but it seems to only work for 2 by 2 data frames.

• What happened with Sagittarius? Do you have a row of 0s (Sagittarius = 0 for both control and pilot) that you've omitted? Aug 20, 2023 at 10:58
• A Fisher's exact test can be used on larger than 2x2 data frames. It would be fine with, say, a 5x2 data frame.
– Jay
Feb 13 at 0:57

One possibility is to use Monte Carlo, that is, a chi-squared test with a simulated p value. I will show how to do that in R:

mytab <- cbind( control=c(0, 1, 0, 1, 1, 1, 3, 3, 8, 10, 3),
pilot=c(1, 3, 2, 2, 2, 5, 3, 5, 1, 4, 2) )

chisq.test( mytab, sim=TRUE,  B=20000 )

Pearson's Chi-squared test with simulated p-value (based on 20000
replicates)

data:  mytab
X-squared = 16.037, df = NA, p-value = 0.07505

• Speculative question since the OP might not be around to answer. The table has 11 of the 12 zodiac signs; Sagittarius is missing. I think that a proper representation of the data is to include a row of 0s. So here is the question: Does the chisq.test makes sense then? Aug 20, 2023 at 11:01
• @dipetkov I'm not sure if your question is in fact rhetorical, but I was wondering the same thing after reading your other comment under the question. I find it could make a good question of its own. Feb 13 at 7:51