Encapsulates the properties of R model formulae, which consist of three elements:
- A response (or dependent) variable
- An intercept flag (0=do not fit intercept, 1=fit intercept)
- A list of independent variable terms
Within the context of R model formulas, a variable is any valid R expression that can be evaluated within the formula's {@link Environment} (usually adata.frame object). It is often a symbol, like simply {@code x} or {@code y}, but a variable in this context a variable can also be a function of a Symbol, such as {@code log(x)} or any valid R expression, such {@code sqrt(x/y)}.
A term is a combination of one or more variables. This class stores terms in their expanded form: the formula described by {@code y ~ a * b} actually has three terms: {@code a}, {@code b}, and {@code a:b}, where {@code a:b} is an interaction term. See {@link FormulaInterpreter} for more information on the DSL.
This internal class is used by the primitives that manipulate model formulas.