| Line 53... |
Line 53... |
| 53 |
\item{\code{\%notin\%}:}{A logical vector, simply the negation of the
|
53 |
\item{\code{\%notin\%}:}{A logical vector, simply the negation of the
|
| 54 |
corresponding \code{\%in\%} call.}
|
54 |
corresponding \code{\%in\%} call.}
|
| 55 |
}
|
55 |
}
|
| 56 |
}
|
56 |
}
|
| 57 |
\details{
|
57 |
\details{
|
| 58 |
\code{\%in\%} is currently defined as \cr
|
58 |
\code{\%in\%} is currently defined as
|
| - |
|
59 |
\preformatted{
|
| 59 |
\code{`\%in\%` <- function(x, table) match(x, table, nomatch = 0L) > 0L}
|
60 |
`\%in\%` <- function(x, table) match(x, table, nomatch = 0L) > 0L
|
| 60 |
|
61 |
}
|
| 61 |
\code{\%notin\%} could succinctly be defined as \code{\link{Negate}(`\%in\%`)},
|
62 |
\code{\%notin\%} could succinctly be defined as \code{\link{Negate}(`\%in\%`)},
|
| 62 |
but for symmetry and efficiency is \cr
|
63 |
but for symmetry and efficiency is
|
| - |
|
64 |
\preformatted{
|
| 63 |
\code{`\%notin\%` <- function(x, table) match(x, table, nomatch = 0L) == 0L}
|
65 |
`\%notin\%` <- function(x, table) match(x, table, nomatch = 0L) == 0L
|
| 64 |
|
66 |
}
|
| 65 |
Factors, raw vectors and lists are converted to character vectors,
|
67 |
Factors, raw vectors and lists are converted to character vectors,
|
| 66 |
internally classed objects are transformed via \code{\link{mtfrm}}, and
|
68 |
internally classed objects are transformed via \code{\link{mtfrm}}, and
|
| 67 |
then \code{x} and \code{table} are coerced to a common type (the later
|
69 |
then \code{x} and \code{table} are coerced to a common type (the later
|
| 68 |
of the two types in \R's ordering, logical < integer < numeric <
|
70 |
of the two types in \R's ordering, logical < integer < numeric <
|
| 69 |
complex < character) before matching. If \code{incomparables} has
|
71 |
complex < character) before matching. If \code{incomparables} has
|