All problems
Mantel-Haenszel Odds Ratio
Problem
Return the Mantel-Haenszel pooled odds ratio sum(a_i*d_i/n_i)/sum(b_i*c_i/n_i) over a list of 2x2 tables. Return 0.0 when a table has no observations or the denominator sum is zero.
Hint
MH pooling weights each stratum's cross-product by its sample size.
Test cases
case 1
in: [[[[10,20],[30,40]],[[5,15],[10,30]]]]
expected: 0.7647058823529411
case 2
in: [[[[20,80],[10,90]],[[30,70],[15,85]]]]
expected: 2.3513513513513513
case 3
in: [[[[10,10],[10,10]]]]
expected: 1
case 4
in: [[]]
expected: 0
case 5
in: [[[[5,0],[0,5]]]]
expected: 0
Starter codePython
def mh_odds_ratio(tables):
# Your code here
pass5 test cases · run your code against them in the editor