Skip to contents

[Stable]

Usage

agree_expected_half(
  conf.level = 0.95,
  delta = NULL,
  pstar = 0.95,
  sigma = 1,
  n = NULL,
  m = 1,
  icc = 0
)

Arguments

conf.level

confidence level for the range of agreement (1 - alpha). The confidence level of the confidence interval of the range of agreement (tolerance interval). Default is 0.95.

delta

target upper bound of expected half-width (delta). The sample size guarantees that the expected half-width of the confidence interval will be no more than this value. Can be specified in standard deviation units.

pstar

central proportion of the data distribution covered (P*). It is the proportion of observations that fall between the limits. For example, a value of 0.95 indicates that 95% of the variable's values fall between the limits. Must be between 0 and 1. Common values are 0.90 or 0.95.

sigma

population standard deviation of the paired differences. If the true value is unknown, delta can be specified in standard deviation units by setting sigma = 1. With clustered data (m > 1), this is the total SD of the differences (between- plus within-subject variance).

n

sample size (optional): the number of pairs, or the number of subjects when m > 1. If provided, the function will solve for a different parameter rather than sample size.

m

number of paired measurements per subject (default 1, independent pairs). See the "Clustered data" section.

icc

intraclass correlation of the paired differences (between-subject share of the variance of the differences), in [0, 1). Ignored when m = 1. This is not the test-retest ICC of the measurements themselves.

Value

An object of class "power.htest" containing the following components:

  • n: The required sample size (number of pairs, or of subjects when m > 1)

  • conf.level: The confidence level (1 - alpha)

  • target.delta: The target upper bound of expected half-width

  • actual.delta: The expected half-width achieved (may be smaller than the target due to discrete nature of n)

  • pstar: The central proportion covered (P*)

  • sigma: The population standard deviation

  • g: The Odeh-Owen factor (g”) used to construct the tolerance interval, tabulated in Odeh and Owen (1980)

  • c: The bias correction factor, 1 / E(S / sigma), used in the expected half-width calculation

  • zp: The normal quantile for the central proportion

  • m, icc: The clustering inputs

  • n.obs: The total number of pairs, n * m

  • method: Description of the method used

  • note: Additional notes about the analysis

Details

Calculate the sample size necessary for a confidence interval of the Bland-Altman range of agreement when the underlying data distribution is normal. This function uses the expected half-width criterion to determine the optimum sample size, based on the exact confidence interval method of Jan and Shieh (2018), which has been shown to be superior to approximate methods.

Overview

This function implements the exact method for determining sample size based on expected half-width for Bland-Altman limits of agreement, as described in Jan and Shieh (2018). The expected half-width criterion determines an N that guarantees that the expected half-width of the confidence interval is less than a boundary value delta.

Technical Details

Suppose a study involves paired differences (X - Y) whose distribution is approximately N(mu, sigma^2). The range of agreement is defined as a confidence interval of the central portion of these differences, specifically the area between the 100(1-p)th and 100p-th percentiles, where p* = 2p - 1.

The exact two-sided, 100(1 - alpha)% confidence interval for the range of agreement is defined as:

Pr(theta_(1-p) < theta_hat_(1-p) and theta_hat_p < theta_p) = 1 - alpha

The equal-tailed tolerance interval recommended by Jan and Shieh (2018) is:

(X_bar - d, X_bar + d)

where d = g * S, g is the Odeh-Owen tolerance factor (tabulated as g” in Odeh and Owen (1980) and Hahn and Meeker (1991)), and S is the sample standard deviation.

Sample Size Determination

The sample size N is selected to satisfy: E(H) <= delta

where H is the half-width of the confidence interval. This leads to the expression:

g(P*, 1-alpha, N-1) / c <= delta / sigma

where c is a bias correction factor:

c = (Gamma((N-1)/2) * sqrt((N-1)/2)) / Gamma(N/2)

The expected half-width is E(H) = (g/c) * sigma. This accounts for the fact that the sample standard deviation S is a biased estimator of sigma, requiring correction when computing expected values.

The method uses equal-tailed tolerance intervals based on the noncentral t-distribution to construct exact confidence intervals for the range of agreement. The tolerance factor g is calculated such that the interval maintains the specified confidence level under normality.

Comparison with Assurance Probability Method

This function uses the expected half-width criterion, which ensures that E(H) <= delta. An alternative approach is the assurance probability criterion (see agree_assurance()), which ensures that Pr(H <= omega) >= 1 - gamma.

The expected half-width criterion:

  • Controls the average half-width across repeated sampling

  • Generally requires smaller sample sizes than assurance probability

  • Is appropriate when the average performance is of primary interest

The assurance probability criterion:

  • Provides a probability guarantee about the half-width

  • Generally requires larger sample sizes

  • Is appropriate when a stronger guarantee is needed for planning purposes

Interpreting Results

Each subject produces two measurements (one for each method being compared). The sample size n returned is the number of subject pairs needed. The actual expected half-width may differ slightly from the target due to the discrete nature of sample size.

For dropout considerations, inflate the sample size using: N' = N / (1 - dropout_rate), always rounding up.

Clustered data

When each of n subjects contributes m paired measurements (repeated measures, or several pairs per subject), the pairs are not independent and treating n * m pairs as independent overstates precision. Setting m and icc accounts for this under a balanced one-way random-effects (compound symmetry) model for the differences:

  • The mean difference has variance sigma^2 \* DEFF / (n \* m), with design effect DEFF = 1 + (m - 1) \* icc, so the effective sample size for the mean is n \* m / DEFF.

  • The total variance is estimated as S^2 = MSB / m + (m - 1) / m \* MSW, whose distribution is a weighted sum of two independent chi-square variables with n - 1 and n(m - 1) degrees of freedom. This distribution is integrated numerically in place of the single chi-square of the independent case. It is more skewed than a Satterthwaite approximation suggests, which matters when icc is large.

Under these assumptions the calculation is exact (it agrees with simulation to Monte Carlo error), and m = 1 gives exactly the published method. The simple design effect 1 + (m - 1) \* icc applied to the whole sample size overstates the penalty, because the SD has a much smaller design effect, 1 + (m - 1) \* icc^2. Unbalanced designs, other correlation structures, or several levels of nesting are not covered; use simulation for those.

icc is the ICC of the differences, which can be estimated from pilot data with an intercept-only mixed model on the differences (e.g. lme4::lmer(diff ~ 1 + (1 | id))), and sigma is then the square root of the sum of the two variance components.

Assumptions

  • The paired differences are normally distributed

  • The variance is constant across the range of measurement

  • Pairs are independent, or (with m > 1) follow the balanced compound symmetry model in the "Clustered data" section

References

Jan, S.L. and Shieh, G. (2018). The Bland-Altman range of agreement: Exact interval procedure and sample size determination. Computers in Biology and Medicine, 100, 247-252. doi:10.1016/j.compbiomed.2018.06.020

Bland, J.M. and Altman, D.G. (1986). Statistical methods for assessing agreement between two methods of clinical measurement. The Lancet, 327(8476), 307-310.

Hahn, G.J. and Meeker, W.Q. (1991). Statistical Intervals: A Guide for Practitioners. John Wiley & Sons, New York.

Bland, J.M. and Altman, D.G. (2007). Agreement between methods of measurement with multiple observations per individual. Journal of Biopharmaceutical Statistics, 17(4), 571-582. doi:10.1080/10543400701329422

Mee, R.W. and Owen, D.B. (1983). Improved factors for one-sided tolerance limits for balanced one-way ANOVA random model. Journal of the American Statistical Association, 78(384), 901-905. doi:10.1080/01621459.1983.10477038

Odeh, R.E. and Owen, D.B. (1980). Tables for Normal Tolerance Limits, Sampling Plans, and Screening. Marcel Dekker, Inc., New York.

See also

agree_assurance() for sample size determination using assurance probability criterion, power_agreement_exact() for power analysis of agreement tests.

Examples

# Example 1: Reproduce Jan and Shieh (2018), page 251
# Expected half-width criterion with P* = 0.95
agree_expected_half(
  conf.level = 0.95,
  delta = 2.25 * 19.61,
  pstar = 0.95,
  sigma = 19.61
)
#> 
#>      Expected half-width and sample size for limits of agreement 
#> 
#>               n = 155
#>      conf.level = 0.95
#>    target.delta = 44.1225
#>    actual.delta = 44.11132
#>           pstar = 0.95
#>           sigma = 19.61
#>               g = 2.253084
#>               c = 1.001625
#>              zp = 1.959964
#>               m = 1
#>             icc = 0
#>           n.obs = 155
#> 
#> NOTE: n is the number of pairs. Two measurements per unit; one for each method.
#> 
# Expected result: n = 155

# Example 2: Planning a method comparison study
# Researchers want 95% confidence with expected half-width
# no more than 2.4 SD units, covering central 90% of differences
agree_expected_half(
  conf.level = 0.95,
  delta = 2.4,
  pstar = 0.90,
  sigma = 1
)
#> 
#>      Expected half-width and sample size for limits of agreement 
#> 
#>               n = 26
#>      conf.level = 0.95
#>    target.delta = 2.4
#>    actual.delta = 2.382019
#>           pstar = 0.9
#>           sigma = 1
#>               g = 2.405953
#>               c = 1.010047
#>              zp = 1.644854
#>               m = 1
#>             icc = 0
#>           n.obs = 26
#> 
#> NOTE: n is the number of pairs. Two measurements per unit; one for each method.
#> 

# Example 3: Clustered data, 3 pairs per subject, ICC of the differences 0.2
# (n is then the number of subjects)
agree_expected_half(
  delta = 2.4,
  pstar = 0.90,
  m = 3,
  icc = 0.2
)
#> 
#>      Expected half-width and sample size for limits of agreement 
#> 
#>               n = 10
#>      conf.level = 0.95
#>    target.delta = 2.4
#>    actual.delta = 2.391907
#>           pstar = 0.9
#>           sigma = 1
#>               g = 2.414812
#>               c = 1.009576
#>              zp = 1.644854
#>               m = 3
#>             icc = 0.2
#>           n.obs = 30
#> 
#> NOTE: n is the number of subjects, each with m = 3 paired measurements (n.obs pairs in total).
#>      Assumes balanced compound symmetry with ICC of the differences = 0.2.
#>