回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>(问题已解决;x、y和s1、s2大小不同)</p>
<p>在R中:</p>
<pre><code>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
</code></pre>
<p>在STATA和Excel中得到相同的数字</p>
<pre><code>t.test(x,y,alternative="less")
t = -1.6229, df = 29.727, p-value = 0.05758
</code></pre>
<p>无论我尝试哪个选项,都无法使用statsmodels.stats.weightstats.ttest_ind或scipy.stats.ttest_ind复制相同的结果。</p>
<pre><code>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)
</code></pre>
<p>一定有成千上万的人使用Python计算t-test。我们都得到了错误的结果吗?(我通常依赖Python,但这次我用STATA检查了结果)。</p>