I'm trying to find an appropriate test or method to determine if the presence of a binary condition causes a separate binary result, given lots of situations (data points) of the 2x2 input/output space. This would be Fisher's Exact test if I had just one sample set, but I have hundreds of 2x2 samples--I want to see if there is a causation relation over all the data. Two entries in each 2x2 table are likely to have sparse nonzero entries across the whole dataset, so looking at any single 2x2 table wouldn't produce high confidence. How can I expand the Fisher's Exact Test, or is there a more appropriate test for determining a causality relationship over the whole data set?

A clarifying example: I want to determine if leaving crumbs on the kitchen counter attracts ants. I've gathered data from 100s of neighborhoods all across the country, and each neighborhood has somewhere from 4-25 houses in it. Each house reports if, on one day, they left food on the counter (condition), and whether or not they had ants (effect). Each neighborhood then reports how many houses were in the 4 possible Food/No Food, Ants/No Ants outcomes. So my dataset looks like:

No Food/No Ants No Food/Ants Food/No Ants Food/Ants
12 1 8 0
6 0 3 1
1 5 2 6
7 0 2 0

for 150 rows. A lot of the rows look like the first & last row, where No Food is more than Food, and there are few numbers of Ants. But there are a few occasional rows where this gets flipped, like Row #3.

I could add each column up and do a Exact test on the squished down 2x2. However, not all neighborhoods have the same controlled conditions (there might be different species of Ants throughout the country), so I'm a little wary that this "squishing" eliminates some information that should be considered or would otherwise impact the analysis. Is there an appropriate way to look at all the data and determine if Food causes Ants?

"multidimensional" Fisher's Exact? 2-proportion Z-test?



1 Answer 1


If you're comfortable making the large-sample assumption, you could use the Mantel-Haenszel test (though from your example data, this doesn't seem to be a good idea). Another option would be the stratified Fisher's exact test, where each of your neighborhoods could be considered a separate stratum. Finally, you could consider a mixed effects logistic regression.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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