Use these methods without the '.dm_zoomed' suffix (see examples).
Usage
# S3 method for dm_zoomed
left_join(x, y, by = NULL, copy = NULL, suffix = NULL, select = NULL, ...)
# S3 method for dm_keyed_tbl
left_join(x, y, by = NULL, copy = NULL, suffix = NULL, ..., keep = FALSE)
# S3 method for dm_zoomed
inner_join(x, y, by = NULL, copy = NULL, suffix = NULL, select = NULL, ...)
# S3 method for dm_keyed_tbl
inner_join(x, y, by = NULL, copy = NULL, suffix = NULL, ..., keep = FALSE)
# S3 method for dm_zoomed
full_join(x, y, by = NULL, copy = NULL, suffix = NULL, select = NULL, ...)
# S3 method for dm_keyed_tbl
full_join(x, y, by = NULL, copy = NULL, suffix = NULL, ..., keep = FALSE)
# S3 method for dm_zoomed
right_join(x, y, by = NULL, copy = NULL, suffix = NULL, select = NULL, ...)
# S3 method for dm_keyed_tbl
right_join(x, y, by = NULL, copy = NULL, suffix = NULL, ..., keep = FALSE)
# S3 method for dm_zoomed
semi_join(x, y, by = NULL, copy = NULL, suffix = NULL, select = NULL, ...)
# S3 method for dm_keyed_tbl
semi_join(x, y, by = NULL, copy = NULL, ...)
# S3 method for dm_zoomed
anti_join(x, y, by = NULL, copy = NULL, suffix = NULL, select = NULL, ...)
# S3 method for dm_keyed_tbl
anti_join(x, y, by = NULL, copy = NULL, ...)
# S3 method for dm_zoomed
nest_join(x, y, by = NULL, copy = FALSE, keep = FALSE, name = NULL, ...)
Arguments
- x, y
tbls to join.
x
is thedm_zoomed
andy
is another table in thedm
.- by
If left
NULL
(default), the join will be performed by via the foreign key relation that exists between the originally zoomed table (nowx
) and the other table (y
). If you provide a value (for the syntax seedplyr::join
), you can also join tables that are not connected in thedm
.- copy
Disabled, since all tables in a
dm
are by definition on the samesrc
.- suffix
Disabled, since columns are disambiguated automatically if necessary, changing the column names to
table_name.column_name
.- select
Select a subset of the RHS-table's columns, the syntax being
select = c(col_1, col_2, col_3)
(unquoted or quoted). This argument is specific for thejoin
-methods fordm_zoomed
. The table'sby
column(s) are automatically added if missing in the selection.- ...
see
dplyr::join
- keep
Should the new list-column contain join keys? The default will preserve the join keys for inequality joins.
- name
The name of the list-column created by the join. If
NULL
, the default, the name ofy
is used.
Examples
flights_dm <- dm_nycflights13()
dm_zoom_to(flights_dm, flights) %>%
left_join(airports, select = c(faa, name))
#> # Zoomed table: flights
#> # A tibble: 1,761 × 20
#> year month day dep_time sched_de…¹ dep_d…² arr_t…³ sched…⁴ arr_d…⁵ carrier
#> <int> <int> <int> <int> <int> <dbl> <int> <int> <dbl> <chr>
#> 1 2013 1 10 3 2359 4 426 437 -11 B6
#> 2 2013 1 10 16 2359 17 447 444 3 B6
#> 3 2013 1 10 450 500 -10 634 648 -14 US
#> 4 2013 1 10 520 525 -5 813 820 -7 UA
#> 5 2013 1 10 530 530 0 824 829 -5 UA
#> 6 2013 1 10 531 540 -9 832 850 -18 AA
#> 7 2013 1 10 535 540 -5 1015 1017 -2 B6
#> 8 2013 1 10 546 600 -14 645 709 -24 B6
#> 9 2013 1 10 549 600 -11 652 724 -32 EV
#> 10 2013 1 10 550 600 -10 649 703 -14 US
#> # … with 1,751 more rows, 10 more variables: flight <int>, tailnum <chr>,
#> # origin <chr>, dest <chr>, air_time <dbl>, distance <dbl>, hour <dbl>,
#> # minute <dbl>, time_hour <dttm>, name <chr>, and abbreviated variable names
#> # ¹sched_dep_time, ²dep_delay, ³arr_time, ⁴sched_arr_time, ⁵arr_delay
# this should illustrate that tables don't necessarily need to be connected
dm_zoom_to(flights_dm, airports) %>%
semi_join(airlines, by = "name")
#> # Zoomed table: airports
#> # A tibble: 0 × 8
#> # … with 8 variables: faa <chr>, name <chr>, lat <dbl>, lon <dbl>, alt <dbl>,
#> # tz <dbl>, dst <chr>, tzone <chr>