python 两样本Ridit分析程序

#python 两样本Ridit分析程序
import numpy as np
from scipy import stats


group = 2 #输入组数为2
rank = 4 #输入等级数
data = '1 5 18 35 26 9 10 5'
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(ddd)
eee = [list(item) for item in zip(ddd, ccc)]
fff = np.cumsum(eee, axis=1)
ggg = np.sum(aaa)
hhh = (fff / ggg)[:, 1]
hhh
iii = [list(item) for item in zip(hhh, hhh)]
jjj = aaa * iii
r1, r2 = np.sum(jjj, axis=0) / np.sum(aaa, axis=0)
n1, n2 = 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)
u = abs(r1 - r2) / np.sqrt((n1 + n2) / (n1 * n2) / 12)
P = (1 - stats.norm.cdf(u)) * 2
print(
'R1={:.3f},95%CI:[{:.3f},{:.3f}]\nR2={:.3f},95%CI:[{:.3f},{:.3f}]\nRidit分析结果:u={:.3f},P={:.3f}'
.format(r1, r1l, r1h, r2, r2l, r2h, u, P))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值