| % File src/library/base/man/interaction.Rd |
| % Part of the R package, https://www.R-project.org |
| % Copyright 1995-2007 R Core Team |
| % Distributed under GPL 2 or later |
| |
| \name{interaction} |
| \title{Compute Factor Interactions} |
| \usage{ |
| interaction(\dots, drop = FALSE, sep = ".", lex.order = FALSE) |
| } |
| \alias{interaction} |
| \arguments{ |
| \item{\dots}{the factors for which interaction is to be computed, or a |
| single list giving those factors.} |
| \item{drop}{if \code{drop} is \code{TRUE}, unused factor levels |
| are dropped from the result. The default is to retain all |
| factor levels.} |
| \item{sep}{string to construct the new level labels by joining the |
| constituent ones.} |
| \item{lex.order}{logical indicating if the order of factor concatenation |
| should be lexically ordered.} |
| } |
| \description{ |
| \code{interaction} computes a factor which represents the interaction |
| of the given factors. The result of \code{interaction} is always unordered. |
| } |
| \value{ |
| A factor which represents the interaction of the given factors. |
| The levels are labelled as the levels of the individual factors joined |
| by \code{sep} which is \code{.} by default. |
| |
| By default, when \code{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 \code{lex.order = TRUE}), and differs from |
| \code{\link{:}}. (It is done this way for compatibility with S.) |
| } |
| \references{ |
| Chambers, J. M. and Hastie, T. J. (1992) |
| \emph{Statistical Models in S}. |
| Wadsworth & Brooks/Cole. |
| } |
| \seealso{ |
| \code{\link{factor}}; |
| \code{\link{:}} where \code{f:g} is similar to |
| \code{interaction(f, g, sep = ":")} when \code{f} and \code{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))) |
| } |
| \keyword{category} |