 »  Home »  Resources & support »  FAQs »  Obtaining one-tailed probabilities for t distribution
Note: This FAQ is for users of Stata 6. It is not relevant for more recent versions.

## Stata 6: How can I get one-tailed probabilities for the Student’s t distribution?

 Title Stata 6: Obtaining one-tailed probabilities for the t distribution Author James Hardin, StataCorp

The tprob and invt functions both return values based on a two-tailed approach. If you want the output of tprob based on one tail (the usual cumulative distribution approach) then it depends on whether the statistic is negative or positive:

        . local p1 = 1 - tprob(15,1.6)/2

. di "The value of t(1.6) with 15 degrees of freedom is " 'p1'
The value of t(1.6) with 15 degrees of freedom is .93477749

. local p2 = tprob(61,-1.96)/2

. di "The value of t(-1.96) with 61 degrees of freedom is " 'p2'
The value of t(-1.96) with 61 degrees of freedom is .02728415


You can write a function to calculate this using cond as in

        . local t = 1.65

. local df = 22

. local qt = cond('t'<=0,tprob('df','t')/2,1-tprob('df','t')/2)

. di 'qt'
.94342544


Similarly, when using the invt function you must also make an adjustment in order to calculate the usual quantile function. To get a random sample of values from the t-distribution with 8 degrees of freedom, you could do the following

        . gen u = uniform()

. gen tsamp = cond(u<.5,-invt(8,1-2*u),invt(8,2*u-1))