# How to back-calculate change from baseline from a p-value for a paired t test

I have a result from a study in a research paper which gives a mean/SD for 2 time points (pre & post treatment), and a p-value based on a paired-samples t-test. What I want to calculate is the SD of the change from pre to post. Is there any way I can back-calculate this using the p-value and mean/SD for each time point?

This is possible, and relatively straightforward given that a paired t-test simplifies to a one-sample t-test of the differences where:

$t = \frac{\delta}{se}$ where $se = \frac{s}{\sqrt{n}}$

where $\delta$ is the difference in means (equivalently, the mean difference), and $se$ is the standard error of the difference in means, and $s$ is the standard deviation of the difference (which is what you want).

I think the standard deviations of the two timepoints are not needed for this particular solution.

I'll just add here that this will only be a useful exercise if the p-value is reported in some detail (e.g. if just reported p < 0.01, then you'll only be able to get an upper bound on the value of the sample standard deviation: and also the rounding inherent in the initial summary statistics might have a big impact. But for getting a rough idea about their sample standard deviation, I think the following will suffice.)

SOLUTION:

For a given $t$ with $x$ degrees of freedom (df, here = sample size - 1), the original authors would have derived the p-value by examining the two-tailed t-distribution (most likely two-tailed, anyway).

You need to reverse this last process: take the inverse of the two-tailed t-distribution for this studies df at the reported p-value.

Let's assume that reported from the study is that the sample size is 17 (so df = 16), difference in means is 2.4 units, and p-value is 0.039.

In R to solve for $t$:

p.val <- .039
qt((1-p.val/2), 16)
# returns 2.248337


In Excel, one could use =T.INV.2T(0.039, 16) which returns 2.248336901

Now solve the first equation to get the standard error:

$t = \frac{\delta}{se}$ which rearranges to: $se = \frac{\delta}{t}$

which here is

$se = \frac{2.4}{2.248337} = 1.067456$

and then to find standard deviation we take the standard error and solve:

$se = \frac{s}{\sqrt{n}}$ rearranged as: $s = se \times \sqrt{n}$

which here is then $s = 1.067456 \times \sqrt{17} = 4.401233$