dt_left_join {maditr} | R Documentation |
Join two data.frames by common columns.
Description
Do different versions of SQL join operations. See examples.
Usage
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)
Arguments
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. |
Value
data.table
Examples
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"))
[Package maditr version 0.8.4 Index]