fullfact
v0.2.1
Published
Create full-factorial DOE designs
Downloads
277
Readme
fullfact
A library for generating full-factorial Design of Experiments (DOEs).
Usage
Add fullfact to your project by using:
npm install --save fullfact
Examples
To create a full-factorial matrix, start by specifying a levels array with the number of levels for each factor in your DOE.
const { fullfact } = require("fullfact");
const levels = [2, 2];
const doe = fullfact(levels);
console.log(doe);
// [ [ 0, 0 ], [ 1, 0 ], [ 0, 1 ], [ 1, 1 ] ]
A convenience function hydratedFullfact
is also available
to handle the mapping of DOE indices to key-value pairs within
an array of objects. This function expects a factors matrix
of the form:
{ [key: string]: any[] }
Consider an example where we have an experiment of two factors: (1) temperature [C] and (2) pressure [kPa]. A factor matrix could be defined as:
const { hydratedFullfact } = require("fullfact");
const factorMatrix = {
temperature: [10, 20, 30],
pressure: [90, 100, 110]
};
const hydratedDoe = hydratedFullfact(factorMatrix);
console.log(hydratedDoe);
// [
// { temperature: 10, pressure: 90 },
// { temperature: 20, pressure: 90 },
// { temperature: 30, pressure: 90 },
// { temperature: 10, pressure: 100 },
// { temperature: 20, pressure: 100 },
// { temperature: 30, pressure: 100 },
// { temperature: 10, pressure: 110 },
// { temperature: 20, pressure: 110 },
// { temperature: 30, pressure: 110 }
// ]
Contributing
This package is a derivative work, based on the python project pyDOE. Thanks to Abraham D. Lee and all contributors.
Please feel free to reach out to the author of this package for any and all feedback.
License
Copyright (c) 2022, Justin Cartwright
Copyright (c) 2014, Abraham D. Lee
References
- Factorial designs: https://en.wikipedia.org/wiki/Factorial_experiment
- package homepage: https://github.com/jcartw/fullfact