问题已解决;x、y和s1、s2的大小不同。
R语言中:
x <- c(373,398,245,272,238,241,134,410,158,125,198,252,577,272,208,260)
y <- c(411,471,320,364,311,390,163,424,228,144,246,371,680,384,279,303)
t.test(x,y)
t = -1.6229, df = 29.727, p-value = 0.1152
在STATA和Excel中获得了相同的数字
t.test(x,y,alternative="less")
t = -1.6229, df = 29.727, p-value = 0.05758
无论我尝试使用哪种选项,statsmodels.stats.weightstats.ttest_ind或scipy.stats.ttest_ind都不能复制相同的结果。
statsmodels.stats.weightstats.ttest_ind(s1,s2,alternative="two-sided",usevar="unequal")
(-1.8912081781378358, 0.066740317997990656, 35.666557473974343)
scipy.stats.ttest_ind(s1,s2,equal_var=False)
(array(-1.8912081781378338), 0.066740317997990892)
scipy.stats.ttest_ind(s1,s2,equal_var=True)
(array(-1.8912081781378338), 0.066664507499812745)
有成千上万的人使用Python进行t检验计算。我们所有人都得到了错误的结果吗?(我通常依赖Python,但这次我用STATA检查了我的结果)。
ttest_ind(x, y, equal_var=True)
得到(array(-1.62292672368488), 0.11506840827144681)
。 - Warren Weckessers1
和s2
与R示例中的x
和y
不同。 - Warren Weckesser