python 多样本Ridit分析程序

import numpy as np
from scipy import stats


group = 3 #输入组数为2
rank = 4 #输入等级数
data = '147 72 28 37 17 9 10 5 4 8 2 3'
table = data.split(' ')
table = [int(x) for x in table]
aaa = np.array(table).reshape(rank, group)
print(aaa)
bbb = np.cumsum(aaa, axis=1)
#print(bbb)
bsum = np.cumsum(bbb, axis=0)
#print(bsum)
ccc = np.append([0], bsum[:, -1][0:-1])
ddd = bbb[:, -1] / 2
#print(ccc,ddd)
eee = [list(item) for item in zip(ddd, ccc)]
#print(eee)
fff = np.cumsum(eee, axis=1)
#print(fff)
ggg = np.sum(aaa)
#print(ggg)
hhh = (fff / ggg)[:, 1]
#print(hhh)
iii = [list(item) for item in zip(hhh, hhh,hhh)]
#print(iii)
jjj = aaa * iii
#print(jjj)
kkk = np.sum(jjj, axis=0) / np.sum(aaa, axis=0)
lll =np.sum(aaa, axis=0)
r1, r2,r3 = np.sum(jjj, axis=0) / np.sum(aaa, axis=0)
n1, n2,n3 =np.sum(aaa, axis=0)
r1l = r1 - 1.96 / np.sqrt(12 * n1)
r1h = r1 + 1.96 / np.sqrt(12 * n1)
r2l = r2 - 1.96 / np.sqrt(12 * n2)
r2h = r2 + 1.96 / np.sqrt(12 * n2)
r3l = r3 - 1.96 / np.sqrt(12 * n3)
r3h = r3 + 1.96 / np.sqrt(12 * n3)
mmm = 12*lll*(kkk-0.5)**2
chisquare = mmm.sum()
#print(chisquare)
#print(r1,r2,r3)
P=2*stats.chi2.pdf(chisquare,2)
print(
'R1={:.3f},95%CI:[{:.3f},{:.3f}]\nR2={:.3f},95%CI:[{:.3f},{:.3f}]\nR3={:.3f},95%CI:[{:.3f},{:.3f}]\nRidit分析结果:卡方值={:.3f},P={:.3f}'
.format(r1, r1l, r1h, r2, r2l, r2h, r3, r3l, r3h, chisquare, P))

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值