- x, y
A pair of data frames, data frame extensions (e.g. a tibble), or
lazy data frames (e.g. from dbplyr or dtplyr). See Methods, below, for
more details.
- by
A character vector of variables to join by.
If NULL
, the default, *_join()
will perform a natural join, using all
variables in common across x
and y
. A message lists the variables so that you
can check they're correct; suppress the message by supplying by
explicitly.
To join by different variables on x
and y
, use a named vector.
For example, by = c("a" = "b")
will match x$a
to y$b
.
To join by multiple variables, use a vector with length > 1.
For example, by = c("a", "b")
will match x$a
to y$a
and x$b
to
y$b
. Use a named vector to match different variables in x
and y
.
For example, by = c("a" = "b", "c" = "d")
will match x$a
to y$b
and
x$c
to y$d
.
To perform a cross-join, generating all combinations of x
and y
,
use by = character()
.
- copy
If x
and y
are not from the same data source,
and copy
is TRUE
, then y
will be copied into the
same src as x
. This allows you to join tables across srcs, but
it is a potentially expensive operation so you must opt into it.
- ...
Other parameters passed onto methods.
- na_matches
Should NA
and NaN
values match one another?
The default, "na"
, treats two NA
or NaN
values as equal, like
%in%
, match()
, merge()
.
Use "never"
to always treat two NA
or NaN
values as different, like
joins for database sources, similarly to merge(incomparables = FALSE)
.