Рассмотрим следующие наборы данных:
left <- data.table(a = 1:3, b = c("foo", "bar", "bar"))
right <- data.table(c = c(1, 4), d = c("foo", "bar"))
Допустим, я хочу объединить left
и right
на основе общего индекса (a == 1; c == 1)
.
Вывод будет выглядеть например:
joined <- data.table(a = 1:3, b = c("foo", "bar", "bar"), d = c("foo", "bar", "bar"))
В SQL вы можете СОЕДИНЯТЬ таблицы, используя вычисляемые поля, не объявляя их как отдельные значения:
SELECT * FROM left INNER JOIN right ON (left.a = 1) = (right.c = 1)
Существует ли способ R / data.table для выполнить аналогичную функцию?