|
Note: This FAQ is for users of Stata 6, an older version of Stata.
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
|
|
Date
|
March 1997
|
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))
|