Equations can include references to factor columns, built-in constants, functions, and operations.
Note: A list of all available operators, distribution functions, and mathematical constants can be found here.
A + B + F
2A + B + D/10
A/F + 3
The equation below involves an expression raised to the power 2, a constant (\(\pi\)), and the square root function,
(A+10)^2 + B*sqrt(_pi^2 + C^2)
2*A + rexp(1)
To test for the specific level of a numeric factor, you will need to know the level coding,
In this example, C is a 3-level nominal categorical factor. Each of the named levels correspond to a row of two numbers,
“Treatment 1” above corresponds to C[1] equal to 1 AND C[2] equal to 0,
“Treatment 2” corresponds to C[1] equal to 0 AND C[2] equal to 1,
“Treatment 3” corresponds to C[1] equal to -1 AND C[2] equal to -1.
We may test for these conditions using the equality operator ==, the AND operator, &&, and the IF-THEN-ELSE operator, x ? y : z. This last operator may be read as “If x, then y, else z”.
For example, an equation that assigns 5 for “Treatment 1”, 10 for “Treatment 2”, and 20 for “Treatment 3” could be written as follows,
(C[1]==1 && C[2]==0)?5:0 + (C[1]==0 && C[2]==1)?10:0 + (C[1]==-1 && C[2]==-1)?20:0
The first term in this sum tests that C[1] is equal to 1 and C[2] is equal to 0 and assigns a value of 5 if so, otherwise it it assigns 0 so that level doesn’t contribute to the sum. Similar assignments are made for the other two levels.
We could also take advantage of nesting and the fact that there are only 3 levels to write this somewhat more efficiently,
(C[1]==1 && C[2]==0)?5:((C[1]==0 && C[2]==1)?10:20)
Such an equation might represent the contribution of a categorical factor to a cost equation, where each level is associated with a different cost.