g01fm returns the deviate associated with the lower tail probability of the distribution of the Studentized range statistic.

# Syntax

C# |
---|

public static double g01fm( double p, double v, int ir, out int ifail ) |

Visual Basic |
---|

Public Shared Function g01fm ( _ p As Double, _ v As Double, _ ir As Integer, _ <OutAttribute> ByRef ifail As Integer _ ) As Double |

Visual C++ |
---|

public: static double g01fm( double p, double v, int ir, [OutAttribute] int% ifail ) |

F# |
---|

static member g01fm : p : float * v : float * ir : int * ifail : int byref -> float |

#### Parameters

- p
- Type: System..::..Double
*On entry*: the lower tail probability for the Studentized range statistic, ${p}_{0}$.*Constraint*: $0.0<{\mathbf{p}}<1.0$.

- v
- Type: System..::..Double
*On entry*: $v$, the number of degrees of freedom.*Constraint*: ${\mathbf{v}}\ge 1.0$.

- ir
- Type: System..::..Int32
*On entry*: $r$, the number of groups.*Constraint*: ${\mathbf{ir}}\ge 2$.

- ifail
- Type: System..::..Int32%
*On exit*: ${\mathbf{ifail}}={0}$ unless the method detects an error or a warning has been flagged (see [Error Indicators and Warnings]).

#### Return Value

g01fm returns the deviate associated with the lower tail probability of the distribution of the Studentized range statistic.

# Description

The externally Studentized range, $q$, for a sample, ${x}_{1},{x}_{2},\dots ,{x}_{r}$, is defined as

where ${\hat{\sigma}}_{e}$ is an independent estimate of the standard error of the ${x}_{i}$. The most common use of this statistic is in the testing of means from a balanced design. In this case for a set of group means, ${\stackrel{-}{T}}_{1},{\stackrel{-}{T}}_{2},\dots ,{\stackrel{-}{T}}_{r}$, the Studentized range statistic is defined to be the difference between the largest and smallest means, ${\stackrel{-}{T}}_{\text{largest}}$ and ${\stackrel{-}{T}}_{\text{smallest}}$, divided by the square root of the mean-square experimental error, $M{S}_{\text{error}}$, over the number of observations in each group, $n$, i.e.,

The Studentized range statistic can be used as part of a multiple comparisons procedure such as the Newman–Keuls procedure or Duncan's multiple range test (see Montgomery (1984) and Winer (1970)).

$$q=\frac{\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left({x}_{i}\right)-\mathrm{min}\phantom{\rule{0.125em}{0ex}}\left({x}_{i}\right)}{{\hat{\sigma}}_{e}}\text{,}$$ |

$$q=\frac{{\stackrel{-}{T}}_{\text{largest}}-{\stackrel{-}{T}}_{\text{smallest}}}{\sqrt{M{S}_{\text{error}}/n}}\text{.}$$ |

For a Studentized range statistic the probability integral, $P\left(q;v,r\right)$, for $v$ degrees of freedom and $r$ groups, can be written as:

where

For a given probability ${p}_{0}$, the deviate ${q}_{0}$ is found as the solution to the equation

using
c05az
.
Initial estimates are found using the approximation given in Lund and Lund (1983) and a simple search procedure.

$$P\left(q;v,r\right)=C\underset{0}{\overset{\infty}{\int}}{x}^{v-1}{e}^{-v{x}^{2}/2}\left(r\underset{-\infty}{\overset{\infty}{\int}}\varphi \left(y\right){\left(\Phi \left(y\right)-\Phi \left(y-qx\right)\right)}^{r-1}dy\right)dx\text{,}$$ |

$$C=\frac{{v}^{v/2}}{\Gamma \left(v/2\right){2}^{v/2-1}}\text{, \hspace{1em}}\varphi \left(y\right)=\frac{1}{\sqrt{2\pi}}{e}^{-{y}^{2}/2}\text{\hspace{1em} and \hspace{1em}}\Phi \left(y\right)=\underset{-\infty}{\overset{y}{\int}}\varphi \left(t\right)dt\text{.}$$ |

$$P\left({q}_{0}\text{;}v,r\right)={p}_{0}\text{,}$$ | (1) |

# References

Lund R E and Lund J R (1983) Algorithm AS 190: probabilities and upper quartiles for the studentized range

*Appl. Statist.***32(2)**204–210Montgomery D C (1984)

*Design and Analysis of Experiments*WileyWiner B J (1970)

*Statistical Principles in Experimental Design*McGraw–Hill# Error Indicators and Warnings

**Note:**g01fm may return useful information for one or more of the following detected errors or warnings.

Errors or warnings detected by the method:

- ${\mathbf{ifail}}=1$
On entry, ${\mathbf{p}}\le 0.0$, or ${\mathbf{p}}\ge 1.0$, or ${\mathbf{v}}<1.0$, or ${\mathbf{ir}}<2$.

- ${\mathbf{ifail}}=2$
- The method was unable to find an upper bound for the value of ${q}_{0}$. This will be caused by ${p}_{0}$ being too close to $1.0$.

- ${\mathbf{ifail}}=3$
- There is some doubt as to whether full accuracy has been achieved. The returned value should be a reasonable estimate of the true value.

# Accuracy

The returned solution, ${q}_{*}$, to equation (1) is determined so that at least one of the following criteria apply.

(a) | $\left|P\left({q}_{*}\text{;}v,r\right)-{p}_{0}\right|\le 0.000005$ |

(b) | $\left|{q}_{0}-{q}_{*}\right|\le 0.000005\times \mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(1.0,\left|{q}_{*}\right|\right)$. |

# Parallelism and Performance

None.

# Further Comments

To obtain the factors for Duncan's multiple-range test, equation (1) has to be solved for ${p}_{1}$, where ${p}_{1}={p}_{0}^{r-1}$, so on input p should be set to ${p}_{0}^{r-1}$.

# Example

Three values of $p$, $\nu $ and $r$ are read in and the Studentized range deviates or quantiles are computed and printed.

Example program (C#): g01fme.cs