nest_nest_join()
returns all rows and columns in .nest_data
with a new
nested-df column that contains all matches from y
. When there is no match,
the list contains a 0-row tibble.
nest_nest_join(
.data,
.nest_data,
y,
by = NULL,
copy = FALSE,
keep = FALSE,
name = NULL,
...
)
An object of the same type as .data
. Each object in the column .nest_data
will also be of the same type as the input.
A data frame, data frame extension (e.g., a tibble), or a lazy data frame (e.g., from dbplyr or dtplyr).
A list-column containing data frames
A data frame, data frame extension (e.g., a tibble), or a lazy data frame (e.g., from dbplyr or dtplyr).
A character vector of variables to join by or a join specification
created with join_by()
.
If NULL
, the default, nest_*_join()
will perform a natural join, using
all variables in common across each object in .nest_data
and y
. A
message lists the variables so you can check they're correct; suppress the
message by supplying by
explicitly.
To join on different variables between the objects in .nest_data
and y
,
use a named vector. For example, by = c("a" = "b")
will match
.nest_data$a
to y$b
for each object in .nest_data
.
To join by multiple variables, use a vector with length >1. For example,
by = c("a", "b")
will match .nest_data$a
to y$a
and .nest_data$b
to
y$b
for each object in .nest_data
. Use a named vector to match
different variables in .nest_data
and y
. For example,
by = c("a" = "b", "c" = "d")
will match .nest_data$a
to y$b
and
.nest_data$c
to y$d
for each object in .nest_data
.
To perform a cross-join, generating all combinations of each object in
.nest_data
and y
, use by = character()
.
If .nest_data
and y
are not from the same data source and
copy = TRUE
then y
will be copied into the same src as .nest_data
.
(Need to review this parameter in more detail for applicability with nplyr)
Should the join keys from both .nest_data
and y
be preserved
in the output?
The name of the list column nesting joins create. If NULL
, the
name of y
is used.
One or more unquoted expressions separated by commas. Variable
names can be used if they were positions in the data frame, so expressions
like x:y
can be used to select a range of variables.
nest_nest_join()
is largely a wrapper around dplyr::nest_join()
and
maintains the functionality of nest_join()
within east nested data frame.
For more information on nest_join()
, please refer to the documentation in
dplyr
.
Other joins:
nest-filter-joins
,
nest-mutate-joins
gm_nest <- gapminder::gapminder %>% tidyr::nest(country_data = -continent)
gm_codes <- gapminder::country_codes
gm_nest %>% nest_nest_join(country_data, gm_codes, by = "country")
Run the code above in your browser using DataLab