Слияние двух data.tables по условию - PullRequest
0 голосов
/ 20 октября 2018

Я знаю, что есть один способ сделать это:

library(data.table)
X = data.table(x = c(1,1,1,2,2,5,6))
Y = data.table(y = c(2,5))
X[Y, .N, on=.(x>=y), by=.EACHI]

, который должен дать:

   x N
1: 2 4
2: 5 2

Но что если я захочу выполнить более сложное условие, подобное этому?

X[Y, .N, on=.(x>=y & x<=y+3), by=.EACHI]

Это не сработает, так как я получаю следующую ошибку:

Error in `[.data.table`(X, Y, .N, on = .(x >= y & x <= y + 3), by = .EACHI) : 
  Column(s) [y & x] not found in i

Как правильно это сделать?

...