Solved – How to calculate a t-score from a p-value (gain scores and N also available)

descriptive statisticsp-valuet-test

I have this problem that only the gain scores with the p-value of a t-test are given in a scientific article. The authors neglected to report the t-test statistic and I'm stuck on figuring out how to calculate a t-test statistic from a p-value. The gain scores (difference in scores before and after an intervention) are given and the sample size is also known.

How can I calculate this t-score?

Best Answer

I'm guessing (hoping) this is a one-sided one-sample t test, where the 'gain' for the $i$th subject is a difference $d_i$ and the test statistic is $t = \bar d \sqrt{n}/S_d,$ in which $\bar d$ and $S_d$ are the mean and standard deviation, respectively, of the $n$ differences.

Let $\delta$ be the population mean of $d_i$. Then one would reject $H_0: \delta = 0$ against $H_a: \delta > 0,$ for sufficiently large $t.$ The P-value, would be the probability under the density curve of Student's t distribution with $n -1$ degrees of freedom beyond the observed $t$ statistic. If $T$ is a random variable with that distribution then the P-value $p$ is $P(T > t)$. That is, $1 - p = P(T \le t).$

The value $t$ you wish to reclaim from the reported $p$ is then the inverse CDF (quantile) function of $1 - p$. For example, if $n = 16,$ and $p = 0.037,$ then we could use statistical software to obtain $t = 1.92$. In R, the code qt(1-.037, 15) returns 1.920596.

A difficulty may be that P-values are not reported to many decimal places, especially when $p$ is too large to lead to rejection of $H_0$ at some significance level such as 5%. As a 'reality check', in my example, the critical value for a 5% level test (separating acceptance and rejection regions) is given by R code qt(.95, 15) which returns 1.753050 (probably 1.753 in a printed t table).

Possible difficulties: (a) Your retrieved values of observed $t$ might be only approximate if $p$ is rounded. In the example above, if the P-value is reported as $p = .04$, my suggested procedure gives $t = 1.88$. (b) You must know $n$ to get the degrees of freedom. Or, if $n$ is very large, you might get a useful approximation from standard normal tables. (c) If the alternative is the two-sided $H_a: \delta \ne 0$, then that alternative will be rejected for large $|t|$ and you won't be able to know whether the observed $t$ is positive or negative. (d) If this is a two-sample t test, you can still retrieve $t$, provided you know the degrees of freedom. (For the pooled version of the test $DF = n_1 + n_2 - 2$, but for the Welch (separate-variances) version you would need to find $DF$ via a formula that involves both the two sample sizes $n_1$ and $n_2$ and the standard deviations of the two samples, which I'm guessing will not be reported if $t$ isn't.

Related Question