Rev 68948 | Rev 82561 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/stats/man/Fdist.Rd% Part of the R package, https://www.R-project.org% Copyright 1995-2014 R Core Team% Distributed under GPL 2 or later\name{FDist}\alias{FDist}\alias{df}\alias{pf}\alias{qf}\alias{rf}\title{The F Distribution}\description{Density, distribution function, quantile function and randomgeneration for the F distribution with \code{df1} and \code{df2}degrees of freedom (and optional non-centrality parameter \code{ncp}).}\usage{df(x, df1, df2, ncp, log = FALSE)pf(q, df1, df2, ncp, lower.tail = TRUE, log.p = FALSE)qf(p, df1, df2, ncp, lower.tail = TRUE, log.p = FALSE)rf(n, df1, df2, ncp)}\arguments{\item{x, q}{vector of quantiles.}\item{p}{vector of probabilities.}\item{n}{number of observations. If \code{length(n) > 1}, the lengthis taken to be the number required.}\item{df1, df2}{degrees of freedom. \code{Inf} is allowed.}\item{ncp}{non-centrality parameter. If omitted the central F is assumed.}\item{log, log.p}{logical; if TRUE, probabilities p are given as log(p).}\item{lower.tail}{logical; if TRUE (default), probabilities are\eqn{P[X \le x]}, otherwise, \eqn{P[X > x]}.}}\value{\code{df} gives the density,\code{pf} gives the distribution function\code{qf} gives the quantile function, and\code{rf} generates random deviates.Invalid arguments will result in return value \code{NaN}, with a warning.The length of the result is determined by \code{n} for\code{rf}, and is the maximum of the lengths of thenumerical arguments for the other functions.The numerical arguments other than \code{n} are recycled to thelength of the result. Only the first elements of the logicalarguments are used.}\details{The F distribution with \code{df1 =} \eqn{n_1}{n1} and \code{df2 =}\eqn{n_2}{n2} degrees of freedom has density\deqn{f(x) = \frac{\Gamma(n_1/2 + n_2/2)}{\Gamma(n_1/2)\Gamma(n_2/2)}\left(\frac{n_1}{n_2}\right)^{n_1/2} x^{n_1/2 -1}\left(1 + \frac{n_1 x}{n_2}\right)^{-(n_1 + n_2) / 2}%}{f(x) = \Gamma((n1 + n2)/2) / (\Gamma(n1/2) \Gamma(n2/2))(n1/n2)^(n1/2) x^(n1/2 - 1)(1 + (n1/n2) x)^-(n1 + n2)/2}for \eqn{x > 0}.It is the distribution of the ratio of the mean squares of\eqn{n_1}{n1} and \eqn{n_2}{n2} independent standard normals, and henceof the ratio of two independent chi-squared variates each divided by itsdegrees of freedom. Since the ratio of a normal and the rootmean-square of \eqn{m} independent normals has a Student's \eqn{t_m}distribution, the square of a \eqn{t_m} variate has a F distribution on1 and \eqn{m} degrees of freedom.The non-central F distribution is again the ratio of mean squares ofindependent normals of unit variance, but those in the numerator areallowed to have non-zero means and \code{ncp} is the sum of squares ofthe means. See \link{Chisquare} for further details onnon-central distributions.}\source{For the central case of \code{df}, computed \emph{via} a binomialprobability, code contributed by Catherine Loader (see\code{\link{dbinom}}); for the non-central case computed \emph{via}\code{\link{dbeta}}, code contributed by Peter Ruckdeschel.For \code{pf}, \emph{via} \code{\link{pbeta}} (or for large\code{df2}, \emph{via} \code{\link{pchisq}}).For \code{qf}, \emph{via} \code{\link{qchisq}} for large \code{df2},else \emph{via} \code{\link{qbeta}}.}\references{Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)\emph{The New S Language}.Wadsworth & Brooks/Cole.Johnson, N. L., Kotz, S. and Balakrishnan, N. (1995)\emph{Continuous Univariate Distributions}, volume 2, chapters 27 and 30.Wiley, New York.}\note{Supplying \code{ncp = 0} uses the algorithm for the non-centraldistribution, which is not the same algorithm used if \code{ncp} isomitted. This is to give consistent behaviour in extreme cases withvalues of \code{ncp} very near zero.The code for non-zero \code{ncp} is principally intended to be usedfor moderate values of \code{ncp}: it will not be highly accurate,especially in the tails, for large values.}\seealso{\link{Distributions} for other standard distributions, including\code{\link{dchisq}} for chi-squared and \code{\link{dt}} for Student'st distributions.}\examples{## Equivalence of pt(.,nu) with pf(.^2, 1,nu):x <- seq(0.001, 5, len = 100)nu <- 4stopifnot(all.equal(2*pt(x,nu) - 1, pf(x^2, 1,nu)),## upper tails:all.equal(2*pt(x, nu, lower=FALSE),pf(x^2, 1,nu, lower=FALSE)))## the density of the square of a t_m is 2*dt(x, m)/(2*x)# check this is the same as the density of F_{1,m}all.equal(df(x^2, 1, 5), dt(x, 5)/x)## Identity: qf(2*p - 1, 1, df) == qt(p, df)^2 for p >= 1/2p <- seq(1/2, .99, length = 50); df <- 10rel.err <- function(x, y) ifelse(x == y, 0, abs(x-y)/mean(abs(c(x,y))))\donttest{quantile(rel.err(qf(2*p - 1, df1 = 1, df2 = df), qt(p, df)^2), .90) # ~= 7e-9}}\keyword{distribution}