Data

The 'Dataset from Chow & Liu'. This is a two-period data set. Schütz did these data in three versions. This version is complete (balanced).

Data set 2; incomplete (one subject misses one evaluation). Note the EU guide states: 'subjects in a crossover trial who do not provide evaluable data for both of the test and reference products should not be included'.

Data set 2; unbalanced (one subject is missing).

EU data set 1: 'a four period crossover study where subjects receive both test and reference twice, with some subjects providing data for only a subset of the treatment periods'

EU data set 2: 'a three period crossover study where all subjects receive reference twice and test once'

Bio-equivalence analysis

There are five algorithms. I wrapped each in a function and made a unified print() method, so as to ease comparison. These functions have two input parameters; the data and the index for the level of the reference treatment.

The code from Schütz slide 14. Note this only did two period data, and not the incomplete data.

ANOVA. In contrast to my previous post subject is now fixed. For the interval I use just the residual degrees of freedom.

nlme This should deliver what proc mixed would deliver

MCMCglmm. A Bayesian MCMC sampler.

lme4. This is traditional mixed model with point estimate and interval via a simulation

Result comparison

Data set 1

Method Point_estimate p5CI p95CI CVIntra

[1,] "Schutz" 100.8168 95.47312 106.4596 7.370138

[2,] "ANOVA" 100.8168 95.47312 106.4596 7.370138

[3,] "nlme" 100.8168 95.47312 106.4596 7.370138

[4,] "MCMCglmm" 100.8011 95.38906 106.5084 8.336442

[5,] "lme4" 100.71 96.03672 105.9925 7.370137

Data set 2

Method Point_estimate p5CI p95CI CVIntra

[1,] "Schutz" 97.17545 88.3128 106.9275 19.47357

[2,] "ANOVA" 97.17545 88.3128 106.9275 19.47357

[3,] "nlme" 97.17545 88.31279 106.9275 19.47359

[4,] "MCMCglmm" 97.09287 86.66635 108.7019 24.21701

[5,] "lme4" 97.51018 89.10346 106.7388 19.47351

Data set 3: Inbalanced

Method Point_estimate p5CI p95CI CVIntra

[1,] "Schutz" 95.79137 87.02926 105.4356 19.05692

[2,] "ANOVA" 95.60894 86.86353 105.2348 19.05692

[3,] "nlme" 95.60894 86.86352 105.2349 19.05693

[4,] "MCMCglmm" 95.6052 85.20512 107.4927 24.13791

[5,] "lme4" 95.80032 86.8732 103.6471 19.05691

Data set 4: Incomplete

Method Point_estimate p5CI p95CI CVIntra

[1,] "ANOVA" 95.60894 86.86353 105.2348 19.05692

[2,] "nlme" 96.46814 87.6157 106.215 19.2212

[3,] "MCMCglmm" 96.78571 86.78392 108.6978 23.77217

[4,] "lme4" 96.76121 88.38716 105.469 19.22122

Data set 5: four period crossover

Method Point_estimate p5CI p95CI CVIntra

[1,] "ANOVA" 115.6587 107.1057 124.8948 41.65396

[2,] "nlme" 115.7298 107.1707 124.9725 41.66876

[3,] "MCMCglmm" 115.7334 107.0849 125.0422 41.87724

[4,] "lme4" 115.7831 106.6829 124.6334 41.66873

Data set 6: three period crossover

Method Point_estimate p5CI p95CI CVIntra

[1,] "ANOVA" 102.2644 97.31555 107.4649 11.85557

[2,] "nlme" 102.2644 97.31555 107.4649 11.85557

[3,] "MCMCglmm" 102.2624 97.29063 107.4589 12.17123

[4,] "lme4" 102.3081 97.30974 107.192 11.85559

From this small analysis one can observe

Only to use the Schütz code for balanced two period crossover data. But in that case nlme and ANOVA provide the same answers. Hence it is purely educational

Given the width of the intervals, the point estimates are close enough so differences can be ignored.

For all data except the incomplete data the difference between nlme and ANOVA is absent or very small.

MCMCglmm has some differences, compared to other methods it over estimates CVIntra. MCMCglmm gives a slightly wider confidence interval for bioequivalence.

Wiekvoet

Wiekvoet is about R, JAGS, STAN, and any data I have interest in. Topics range from sensometrics, statistics, chemometrics and biostatistics. For comments or suggestions please email me at wiekvoet at xs4all dot nl.