dt_left_join | R Documentation |
Do different versions of SQL join operations. See examples.
dt_left_join(x, y, by = NULL, suffix = c(".x", ".y"))
dt_right_join(x, y, by = NULL, suffix = c(".x", ".y"))
dt_inner_join(x, y, by = NULL, suffix = c(".x", ".y"))
dt_full_join(x, y, by = NULL, suffix = c(".x", ".y"))
dt_semi_join(x, y, by = NULL)
dt_anti_join(x, y, by = NULL)
x |
data.frame or data.table |
y |
data.frame or data.table |
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 suppress the message, simply explicitly list the
variables that you want to join). To join by different variables on x and y
use a named vector. For example, |
suffix |
If there are non-joined duplicate variables in x and y, these suffixes will be added to the output to disambiguate them. Should be a character vector of length 2. |
data.table
workers = fread("
name company
Nick Acme
John Ajax
Daniela Ajax
")
positions = fread("
name position
John designer
Daniela engineer
Cathie manager
")
workers %>% dt_inner_join(positions)
workers %>% dt_left_join(positions)
workers %>% dt_right_join(positions)
workers %>% dt_full_join(positions)
# filtering joins
workers %>% dt_anti_join(positions)
workers %>% dt_semi_join(positions)
# To suppress the message, supply 'by' argument
workers %>% dt_left_join(positions, by = "name")
# Use a named 'by' if the join variables have different names
positions2 = setNames(positions, c("worker", "position")) # rename first column in 'positions'
workers %>% dt_inner_join(positions2, by = c("name" = "worker"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.