interaction {base} | R Documentation |
Compute Factor Interactions
Description
interaction
computes a factor which represents the interaction
of the given factors. The result of interaction
is always unordered.
Usage
interaction(..., drop = FALSE, sep = ".", lex.order = FALSE)
Arguments
... |
the factors for which interaction is to be computed, or a single list giving those factors. |
drop |
if |
sep |
string to construct the new level labels by joining the constituent ones. |
lex.order |
logical indicating if the order of factor concatenation should be lexically ordered. |
Value
A factor which represents the interaction of the given factors.
The levels are labelled as the levels of the individual factors joined
by sep
which is .
by default.
By default, when lex.order = FALSE
, the levels are ordered so
the level of the first factor varies fastest, then the second and so
on. This is the reverse of lexicographic ordering (which you can get
by lex.order = TRUE
), and differs from
:
. (It is done this way for compatibility with S.)
References
Chambers, J. M. and Hastie, T. J. (1992) Statistical Models in S. Wadsworth & Brooks/Cole.
See Also
factor
;
:
where f:g
is similar to
interaction(f, g, sep = ":")
when f
and g
are factors.
Examples
a <- gl(2, 4, 8)
b <- gl(2, 2, 8, labels = c("ctrl", "treat"))
s <- gl(2, 1, 8, labels = c("M", "F"))
interaction(a, b)
interaction(a, b, s, sep = ":")
stopifnot(identical(a:s,
interaction(a, s, sep = ":", lex.order = TRUE)),
identical(a:s:b,
interaction(a, s, b, sep = ":", lex.order = TRUE)))