ExpFormula: Expanding a formula

expand.formulaR Documentation

Expanding a formula

Description

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

Usage

expand.formula(frml,varNames,const=TRUE,numerics=NULL)

Arguments

frml

A formula starting with ~ in the usual way.

varNames

A list of variable names to be used when a dot is used as shorthand for “all variables.”

const

If FALSE, the constant will be suppressed.

numerics

A vector the same length as varNames, with TRUE for corresponding numeric variables. If missing, all variables will be assumed to be numeric.

Details

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.

Value

An expanded formula is returned.

Note

expand.formula() is called by model.matrix() through the method call model.matix.formula(), thus one may use the above special functions with model.matrix().

Author(s)

Bob Wheeler bwheelerg@gmail.com

Please cite this program as follows:

Wheeler, R.E. (2004). expand.formula. AlgDesign. The R project for statistical computing https://www.r-project.org/

References

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


AlgDesign documentation built on Sept. 30, 2024, 9:32 a.m.