Formulas are expanded to accommodate special functions for continuous and mixture variables.
expand.formula(frml,varNames,const=TRUE,numerics=NULL)
A formula starting with ~ in the usual way.
A list of variable names to be used when a dot is used as shorthand for ``all variables.''
If FALSE, the constant will be suppressed.
A vector the same length as varNames, with TRUE for corresponding numeric variables. If missing, all variables will be assumed to be numeric.
An expanded formula is returned.
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. In addition, a dot may be used to indicate that all variables in varNames are to be used.
All agruments to quad(), cubic(), and cubicS() must be numeric.
\(~.\) makes \(~ A + B + C\)
\(~.^p\) makes \(~ (A + B + C)^p\), where p is an integer
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.
Gorman, J.W. and Hinman, J.E. (1962). Simplex lattice designs for multicomponent systems. Technometrics. 4-4. 463-487.