join.tbl_dt {dplyr} | R Documentation

## Join data table tbls.

### Description

See `join` for a description of the general purpose of the functions.

### Usage

    ## S3 method for class 'data.table'
    inner_join(x, y, by = NULL, copy = FALSE, ...)

    ## S3 method for class 'data.table'
    left_join(x, y, by = NULL, copy = FALSE, ...)

    ## S3 method for class 'data.table'
    semi_join(x, y, by = NULL, copy = FALSE, ...)

    ## S3 method for class 'data.table'
    anti_join(x, y, by = NULL, copy = FALSE, ...)

### Arguments

`x,y` | tbls to join
`by` | a character vector of variables to join by. If `NULL`, the default, `join` will do a natural join, using all variables with common names across the two tables. A message lists the variables so that you can check they're right. 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`.
`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.
`...` | Included for compatibility with generic; otherwise ignored.

### Examples

    if (require("data.table") && require("Lahman")) {
    batting_dt <- tbl_dt(Batting)
    person_dt <- tbl_dt(Master)

    # Inner join: match batting and person data
    inner_join(batting_dt, person_dt)

    # Left join: keep batting data even if person missing
    left_join(batting_dt, person_dt)

    # Semi-join: find batting data for top 4 teams, 2010:2012
    grid <- expand.grid(
      teamID = c("WAS", "ATL", "PHI", "NYA"),
      yearID = 2010:2012)
    top4 <- semi_join(batting_dt, grid, copy = TRUE)

    # Anti-join: find batting data with out player data
    anti_join(batting_dt, person_dt)
    }

[Package dplyr version 0.4.3 Index]