(問題は解決しました。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-test を計算する人は何千人もいるはずです。私たちは皆、間違った結果を得ていますか? (私は通常 Python に依存していますが、今回は STATA で結果を確認しました)。