The statistic. In a balanced ANCOVA with \(k\) groups and
\(p\) random covariates, let \(\hat\theta_i\) be the adjusted group
means and \(\hat\sigma_{y \mid x}\) the square root of the ANCOVA error
mean square (on \(\nu\) degrees of freedom). The Bryant-Paulson
statistic is the studentized range of the adjusted means,
$$Q \;=\; \frac{\max_i \hat\theta_i - \min_i \hat\theta_i}{\hat\sigma_{y\mid x}\sqrt{K_1 - K_2}},$$
where \(K_1 - K_2\) is the design constant that scales the variance of a
single adjusted mean (for a one-way design with \(n\) per group,
\(K_1 - K_2 = 1/n\)). Crucially, the studentizer uses only this
“between-only” standard error: the extra sampling variability
induced by having to estimate the covariate adjustment from random
covariates is carried by the distribution of \(Q\) itself, not by a
per-comparison standard-error correction. This is what distinguishes the
procedure from naively applying Tukey's method to adjusted means.
The distribution. Bryant and Paulson (1976) give the exact CDF of
\(Q_p\) in their Equation (17), a single integral over a variable that
combines the \(\chi^2_\nu\) error estimate with a random
covariate-shrinkage factor \(\delta\) that, by their Equations (11)--(12),
has a \(\mathrm{Beta}((\nu+1)/2,\, p/2)\) distribution. Carrying out the
error integral with the studentized-range routine ptukey reduces
Equation (17) to the equivalent one-dimensional form
$$P(Q_p \le q) \;=\; \int_0^1 \mathrm{ptukey}\!\left(q\sqrt{\delta};\, k,\, \nu\right)\, f_{\mathrm{Beta}}\!\left(\delta;\, \tfrac{\nu+1}{2},\, \tfrac{p}{2}\right) d\delta,$$
which this package evaluates (the reduction is exact; see the source-code
comments in R/bryant_paulson.R for the one-line derivation from
Bryant and Paulson's p. 634 conditioning argument). When \(p = 0\) the
factor \(\delta\) degenerates at 1 and \(Q_p\) is exactly the ordinary
studentized range (Bryant and Paulson, 1976, Sec. 1), so the code
short-circuits to ptukey. The integral is evaluated with
integrate after the change of variables
\(\delta = 1 - u^2\), which removes the endpoint singularity of the Beta
weight at \(\delta = 1\) when \(p = 1\) and makes the quadrature
converge in a few subdivisions; qbryant_paulson inverts it with
uniroot. Bryant and Bruvold (1980) later showed the
same distribution and critical values remain valid when the covariates are
not identically distributed across groups (their grouped-covariate
model, Eq. 1.3), and added the Duncan multiple-range extension.
Accuracy at small df. The error integral is carried out with
ptukey for \(\nu \ge 7\), where it is accurate to
about \(10^{-9}\). For \(\nu < 7\) ptukey's algorithm loses
accuracy (at \(\nu = 3\), \(k = 20\) its probability error reaches
\(\approx 3\times10^{-4}\), enough to move the critical value by about
0.2, and it is larger at \(\nu = 2\)), so the studentized-range
distribution is instead evaluated directly, without ptukey, by
integrating the probability integral of the range against the
\(\chi^2_\nu\) error density. The small-\(\nu\) path costs a fraction of
a second.
Validation. The implementation reproduces Bryant and Paulson's
(1976) Table 1 exactly, to the two decimal places tabled, over the whole of
its range: both tail areas (\(\alpha = .05\) and \(\alpha = .01\)), all
three covariate counts (\(p = 1, 2, 3\)), every tabled number of groups
(\(k = 2, \ldots, 8, 10, 12, 16, 20\)), and every tabled error degrees of
freedom (\(\nu = 2, \ldots, 8, 10, 12, 14, 16, 18, 20, 24, 30, 40, 60,
120\)), which is 1188 critical values in all. The corners of the table are
included: \(q_{.01;\,1,2,2} = 19.09\), \(q_{.01;\,3,20,2} = 73.01\),
\(q_{.01;\,3,20,3} = 33.13\), and \(q_{.05;\,1,6,14} = 4.83\) (the value
used in the Bryant and Bruvold, 1980 worked example). Two of the 1188
entries, \(q_{.01;\,2,8,3}\) and \(q_{.01;\,2,20,4}\), have exact values
of 23.165013 and 19.745008, each roughly \(10^{-5}\) above the 23.165 and
19.745 half-way points, so they round to 23.17 and 19.75; the 1976 table
rounds them down, to 23.16 and 19.74. Both values were confirmed to fourteen
significant figures by two independent high-order quadrature engines that
share no code with the package implementation. A large-scale simulation of
the Bryant and Paulson statistic confirms the computed values independently,
and the Bryant and Bruvold (1980) Table 2 Duncan ranges are reproduced as
well. See the package tests.