Compare two vectors
Arguments
- x, y
Vectors with compatible types and lengths.
- na_equal
Should
NA
values be considered equal?- .ptype
Override to optionally specify common type
Value
An integer vector with values -1 for x < y
, 0 if x == y
,
and 1 if x > y
. If na_equal
is FALSE
, the result will be NA
if either x
or y
is NA
.
S3 dispatch
vec_compare()
is not generic for performance; instead it uses
vec_proxy_compare()
to create a proxy that is used in the comparison.
Dependencies
vec_cast_common()
with fallback
Examples
vec_compare(c(TRUE, FALSE, NA), FALSE)
#> [1] 1 0 NA
vec_compare(c(TRUE, FALSE, NA), FALSE, na_equal = TRUE)
#> [1] 1 0 -1
vec_compare(1:10, 5)
#> [1] -1 -1 -1 -1 0 1 1 1 1 1
vec_compare(runif(10), 0.5)
#> [1] 1 -1 -1 1 -1 -1 1 -1 1 1
vec_compare(letters[1:10], "d")
#> [1] -1 -1 -1 0 1 1 1 1 1 1
df <- data.frame(x = c(1, 1, 1, 2), y = c(0, 1, 2, 1))
vec_compare(df, data.frame(x = 1, y = 1))
#> [1] -1 0 1 1