Introduction to MixFrac: Mixed-Level and Regular Fractional Factorial Designs

Sukanta Dash

2025-12-08

Overview

MixFrac provides tools for constructing mixed-level and regular fractional factorial designs, computing alias structures, and generating deterministic trend-free run orders.

The package is based on four key methodological sources:

Guo, Simpson & Pignatiello (2007) – mixed-level design efficiency (J2 + H^)

Pantoja-Pacheco et al. (2021) – NONBPA fractionation when levels differ

Ríos-Lira et al. (2021) – alias structures via model matrix correlations

Coster (1993) – trend-free run orders

This vignette demonstrates the main workflow.

Installation

To install the development version:

install.packages(“devtools”)

Install from local source (if you downloaded or created the package)

devtools::install(“MixFrac”)

1. Mixed-Level Fractional Factorial Designs

Consider a 2 × 3 × 4 design requiring 12 runs.

Writing

library(MixFrac)

res <- generate_ff( c(2,3,4), # number of levels per factor n_runs = 12, # required number of runs tf = FALSE, parts = c(1,2), verbose = TRUE )

The output provides:

The fractional design

Balance summary (per factor)

J2 and H^ metrics

GBM (general balance metrics)

Alias chains

Strong confounding summary

2. Automatic Regular Fraction Detection (s^(k-p) Designs)

When all factors have the same number of levels s, the package attempts to find a regular fraction s^(k-p).

Example: three 2-level factors and 4 runs → candidate 2^(3-1):

Writing

res_reg <- generate_ff( c(2,2,2), n_runs = 4, tf = FALSE, parts = c(1,2), verbose = TRUE )

If a valid generator structure exists, MixFrac builds the canonical regular design.

3. Alias Structures

Alias structures are computed using correlation among model matrix columns (main effects + interactions).

Writing extract alias chains

res$alias_chains

Example of printed output:

[A] = A [B] = B + 0.956 A:B [C] = C + 0.984 A:C [B:C] = B:C + 0.998 A:B:C

You may also extract the strong confounding pairs:

Writing

res$alias_summary

4. Trend-Free Run Orders (Coster 1993)

When tf = TRUE, the function computes a deterministic run order that is orthogonal to polynomial time trends (degree 1 by default).

Writing

res_tf <- generate_ff( c(2,3,4), 12, tf = TRUE, parts = 3, verbose = TRUE )

The result contains:

res_tf\(trend_free_result\)order res_tf\(trend_free_result\)design_reordered res_tf\(trend_free_result\)objective

5. Silent Execution (Programmatic Use)

To use MixFrac programmatically without printing:

Writing

silent <- generate_ff( c(2,3,4), 12, tf = TRUE, parts = c(), # <- print nothing verbose = FALSE # silent mode )

The object silent contains all results:

Writing

names(silent)

Conclusion

MixFrac provides a unified workflow for:

Mixed-level fractional factorial construction

Automatic generation of regular designs when applicable

Confounding and alias analysis

Run orders that remove trend contamination

Its flexible interface allows both exploratory use and integration into automated DoE pipelines.

References

Guo, Y., Simpson, J. R., & Pignatiello, J. J. (2007). Construction of Efficient Mixed-Level Fractional Factorial Designs. Journal of Quality Technology, 39(3), 241–257. https://doi.org/10.1080/00224065.2007.11917691

Pantoja-Pacheco, Y. V. et al. (2021). One Note for Fractionation and Increase for Mixed-Level Designs When the Levels Are Not Multiple. Mathematics, 9(13), 1455. https://doi.org/10.3390/math9131455

Ríos-Lira, A. J. et al. (2021). Alias Structures and Sequential Experimentation for Mixed-Level Designs. Mathematics, 9(23), 3053. https://doi.org/10.3390/math9233053

Coster, D. C. (1993). Trend-Free Run Orders of Mixed-Level Fractional Factorial Designs. Annals of Statistics, 21(4), 2072–2086. https://doi.org/10.1214/aos/1176349410