pack_join()
returns all rows and columns in x
with a new packed column
that contains all matches from y
.
pack_join(x, y, by = NULL, copy = FALSE, keep = FALSE, name = NULL, ...)
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.
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.
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()
.
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.
Should the join keys from both x
and y
be preserved in the
output?
The name of the list column nesting joins create.
If NULL
the name of y
is used.
Other parameters passed onto methods.