In R
, it is possible to perform two-sample one-tailed t-test simply by using
> A = c(0.19826790, 1.36836629, 1.37950911, 1.46951540, 1.48197798, 0.07532846) > B = c(0.6383447, 0.5271385, 1.7721380, 1.7817880) > t.test(A, B, alternative="greater") Welch Two Sample t-test data: A and B t = -0.4189, df = 6.409, p-value = 0.6555 alternative hypothesis: true difference in means is greater than 0 95 percent confidence interval: -1.029916 Inf sample estimates: mean of x mean of y 0.9954942 1.1798523
In Python world, scipy
provides similar function ttest_ind, but which can only do two-tailed t-tests. Closest information on the topic I found is this link, but it seems to be rather a discussion of the policy of implementing one-tailed vs two-tailed in scipy
.
Therefore, my question is that does anyone know any examples or instructions on how to perform one-tailed version of the test using numpy/scipy
?
Advertisement
Answer
From your mailing list link:
because the one-sided tests can be backed out from the two-sided tests. (With symmetric distributions one-sided p-value is just half of the two-sided pvalue)
It goes on to say that scipy always gives the test statistic as signed. This means that given p and t values from a two-tailed test, you would reject the null hypothesis of a greater-than test when p/2 < alpha and t > 0
, and of a less-than test when p/2 < alpha and t < 0
.