TDist {stats} | R Documentation |
Density, distribution function, quantile function and random
generation for the t distribution with df
degrees of freedom
(and optional non-centrality parameter ncp
).
dt(x, df, ncp, log = FALSE) pt(q, df, ncp, lower.tail = TRUE, log.p = FALSE) qt(p, df, ncp, lower.tail = TRUE, log.p = FALSE) rt(n, df, ncp)
x, q |
vector of quantiles. |
p |
vector of probabilities. |
n |
number of observations. If length(n) > 1 , the length
is taken to be the number required. |
df |
degrees of freedom (> 0, maybe non-integer). df
= Inf is allowed. |
ncp |
non-centrality parameter delta;
currently except for rt() , only for abs(ncp) <= 37.62 .
If omitted, use the central t distribution. |
log, log.p |
logical; if TRUE, probabilities p are given as log(p). |
lower.tail |
logical; if TRUE (default), probabilities are P[X <= x], otherwise, P[X > x]. |
The t distribution with df
= n degrees of
freedom has density
f(x) = Gamma((n+1)/2) / (sqrt(n pi) Gamma(n/2)) (1 + x^2/n)^-((n+1)/2)
for all real x. It has mean 0 (for n > 1) and variance n/(n-2) (for n > 2).
The general non-central t
with parameters (df, Del) = (df, ncp)
is defined as the distribution of
T(df, Del) := (U + Del) / sqrt(V/df)
where U and V are independent random
variables, U ~ N(0,1) and
V ~ Chi^2(df) (see Chisquare).
The most used applications are power calculations for t-tests:
Let T= (mX - m0) / (S/sqrt(n))
where
mX is the mean
and S the sample standard
deviation (sd
) of X_1, X_2, ..., X_n which are
i.i.d. N(mu, sigma^2)
Then T is distributed as non-central t with
df
{} = n-1
degrees of freedom and non-centrality parameter
ncp
= (mu - m0) * sqrt(n)/sigma.
dt
gives the density,
pt
gives the distribution function,
qt
gives the quantile function, and
rt
generates random deviates.
Invalid arguments will result in return value NaN
, with a warning.
Setting ncp = 0
is not equivalent to omitting
ncp
. R uses the non-centrality functionality whenever ncp
is specified which provides continuous behavior at ncp = 0.
The central dt
is computed via an accurate formula
provided by Catherine Loader (see the reference in dbinom
).
For the non-central case of dt
, contributed by
Claus Ekstrøm based on the relationship (for
x != 0) to the cumulative distribution.
For the central case of pt
, a normal approximation in the
tails, otherwise via pbeta
.
For the non-central case of pt
based on a C translation of
Lenth, R. V. (1989). Algorithm AS 243 — Cumulative distribution function of the non-central t distribution, Applied Statistics 38, 185–189.
For central qt
, a C translation of
Hill, G. W. (1970) Algorithm 396: Student's t-quantiles. Communications of the ACM, 13(10), 619–620.
altered to take account of
Hill, G. W. (1981) Remark on Algorithm 396, ACM Transactions on Mathematical Software, 7, 250–1.
The non-central case is done by inversion.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole. (Except non-central versions.)
Johnson, N. L., Kotz, S. and Balakrishnan, N. (1995) Continuous Univariate Distributions, volume 2, chapters 28 and 31. Wiley, New York.
df
for the F distribution.
require(graphics) 1 - pt(1:5, df = 1) qt(.975, df = c(1:10,20,50,100,1000)) tt <- seq(0,10, len=21) ncp <- seq(0,6, len=31) ptn <- outer(tt,ncp, function(t,d) pt(t, df = 3, ncp=d)) t.tit <- "Non-central t - Probabilities" image(tt,ncp,ptn, zlim=c(0,1), main = t.tit) persp(tt,ncp,ptn, zlim=0:1, r=2, phi=20, theta=200, main=t.tit, xlab = "t", ylab = "non-centrality parameter", zlab = "Pr(T <= t)") plot(function(x) dt(x, df = 3, ncp = 2), -3, 11, ylim = c(0, 0.32), main="Non-central t - Density", yaxs="i")