Предположим, у меня есть два набора данных, которые я хочу соединить влево,
i <- data.table(id=1:3, k=7:9, l=7:9, m=7:9, n=7:9)
и
x <- data.table(id=c(1,2), x=c(10,20))
Чтобы соединиться влево, сохраняя все строки в i
, я выполняю
x[i, .(id=i.id, k=i.k, l=i.l, m=i.m, n=i.n, x=x.x), on=.(id=id)]
но мне интересно, есть ли более простой и эффективный способ, который делает ненужным изложение всех столбцов из i
.
Например, в обратном случае (то есть, когда я хочу сохранить все столбцы с i
), я мог бы использовать оператор :=
, как в x[i, k:=i.k, on=.(id=id)]
.Насколько я понимаю, это делает вещи более эффективными, потому что столбцы копировать не нужно.Есть ли что-то сопоставимое для этого случая?