統合オッズ比:Petoの方法

コクランについて学んだ。

ここでは、均質性の検定、有意性の検定は今回はしないが、χ分布に従って有意差をはじき出す。

複数のデータをそれぞれのデータに基づいて統合して、データ全体でのオッズ比を出す。

こちら。

https://www.jstage.jst.go.jp/article/jbhmk/28/2/28_2_56/_pdf

”””

"""
peto method
"""
import math
"""
data
"""
a=[3,7,5,102,28,4,98,60,25,138,64,45,9,57,25,65,17]
n1=[38,114,69,1533,355,59,945,632,278,1916,873,263,291,858,154,1195,298]
c=[3,14,11,127,27,6,152,48,37,188,52,47,16,45,31,62,34]
n0=[39,116,93,1520,365,52,939,471,282,1921,583,266,293,883,147,1200,309]
b=;d=;m1=;m0=;t=;e=;v=;logR=;se=;w=;
for i in range(len(a)):
    b.append(n1[i]-a[i]);d.append(n0[i]-c[i]);
    m1.append(a[i]+c[i]);m0.append(b[i]+d[i]);
    t.append(n1[i]+n0[i]);e.append(n1[i]*m1[i]/t[i])
    v.append*1
    logR.append*2

or_c=0;or_p=0;
for i in range(len(a)):
    or_c+=(a[i]-e[i])
    or_p+=v[i]
ans=math.exp(or_c/or_p);CI=1.96/math.sqrt(or_p)
print(ans-CI,ans+CI)

”””

*1:n1[i]*n0[i]/t[i])*(m1[i]*m0[i]/t[i])/(t[i]-1

*2:a[i]-e[i])/v[i]);#対数オッズ比を出す
    se.append(1/math.sqrt(v[i]