与计算列的非等连接

时间:2018-01-16 13:51:52

标签: r data.table

我想在两个data.table上执行非equi连接,其中与第一个data的两列之和进行比较。表:

set.seed(2018)
DT1 <- data.table(ID =seq(10), X= round(500*runif(10)), Y= round(500*runif(10)));DT1
DT2 <- data.table(ID =seq(10), X_min =seq(0,900,100), X_max =seq(99,999,100), Text=LETTERS[1:10] );DT2

现在,我想加入DT2中与[X_min, X_max]的总和X+Y所在的时间间隔DT1相对应的文字。我可以这样做:

DT1[, Z :=X+Y]
DT1[DT2, Description:=i.Text, on =.(Z>=X_min, Z<= X_max)]

是否可以避免明确计算Z?这失败了:

DT1[DT2, Description:=i.Text, on =.((X+Y)>=X_min, (X+Y)<= X_max)]

0 个答案:

没有答案
相关问题