Formulas are expanded to accommodate special functions for continuous and mixture variables.

1 | ```
poly.formula(frml)
``` |

`frml` |
A formula using ~ in the usual way. |

This function expands formulas to accommodate polynomial models for which R has minimal support. Assuming for illustration that there are three variables, A, B, and C, the following expressions may be used.

All agruments to quad(), cubic(), and cubicS() must be numeric.

quad(A,B,C) makes

*(A+B+C)^2+I(A^2)+I(B^2)+I(C^2)*cubic(A,B,C) makes

*(A+B+C)^3+I(A^2)+I(B^2)+I(C^2)+I(A^3)+I(B^3)+I(C^3)*cubicS(A,B,C) makes

*(A+B+C)^3+I(A*B*(A-B))+I(A*C*(A-C))+I(B*C*(B-C))*

The cubicS() function produces a non-singular representation of a cubic model, when the
variables are mixture variables, that is when the rows of `data`

sum to a constant
value, usually 1.0. Because of the mixture constraint, models containing mixture variables
should not have a constant term. The linear and quadratic models for mixture variables
A, B, and C are given by *-1+(A+B+C)* and *-1+(A+B+C)^2* respectively. See Gorman and Hinman [1962] for
details.

An expanded formula is returned.

Bob Wheeler bwheelerg@gmail.com

Please cite this program as follows:

Wheeler, R.E. (2010). poly.formula *lmPerm*. The R project for statistical computing http://www.r-project.org/

Gorman, J.W. and Hinman, J.E. (1962). Simplex lattice designs for
multicomponent systems. *Technometrics*. 4-4. 463-487.

1 | ```
poly.formula(y~quad(A,B,C)+Error(block))
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.