step_interact() can create interactions between variables. It is primarily
intended for numeric data; categorical variables should probably be
converted to dummy variables using step_dummy() prior to being used for
interactions.
Unlike other step functions, the terms argument should be a traditional R
model formula but should contain no inline functions (e.g. log). For
example, for predictors A, B, and C, a formula such as ~A:B:C can be
used to make a three way interaction between the variables. If the formula
contains terms other than interactions (e.g. (A+B+C)^3) only the
interaction terms are retained for the design matrix.
The separator between the variables defaults to "_x_" so that the three way
interaction shown previously would generate a column named A_x_B_x_C. This
can be changed using the sep argument.
When dummy variables are created and are used in interactions, selectors can
help specify the interactions succinctly. For example, suppose a factor
column X gets converted to dummy variables x_2, x_3, ..., x_6 using
step_dummy(). If you wanted an interaction with numeric column z, you
could create a set of specific interaction effects (e.g. x_2:z + x_3:z and
so on) or you could use starts_with("x_"):z. When prep() evaluates this
step, starts_with("x_") resolves to (x_2 + x_3 + x_4 + x_5 + x_6) so that
the formula is now (x_2 + x_3 + x_4 + x_5 + x_6):z and all two-way
interactions are created.