I'm trying to join some columns from two datatables based on some conditions, but an error pops out and I'm not sure how to resolve it:
Approach 1:
xDT <- data.table(ID = c(1,2,3),`SPACE HERE` = c(10,20,30), ValX = c(100,200,300))
yDT <- data.table(ID = c(1,2,3),`SPACE HERE` = c(10,30,60), ValY = c(1000,2000,3000))
xDT[yDT
, .(x.ValX)
, on = .(ID = ID, `SPACE HERE` <= `SPACE HERE`)
, mult = 'first']
Error in `[.data.table`(xDT, yDT, .(x.ValX), on = .(ID = ID, `SPACE HERE` <= :
Column(s) [`SPACE HERE`] not found in x
As you can see the column SPACE HERE
is clearly in xDT.
Then I tried to remove the space in the column name, and it works:
Approach 2:
xDT <- data.table(ID = c(1,2,3),`SPACE_HERE` = c(10,20,30), ValX = c(100,200,300))
yDT <- data.table(ID = c(1,2,3),`SPACE_HERE` = c(10,30,60), ValY = c(1000,2000,3000))
xDT[yDT
, .(x.ValX)
, on = .(ID = ID, `SPACE_HERE` <= `SPACE_HERE`)
, mult = 'first']
x.ValX
1: 100
2: 200
3: 300
Why approach 1 wouldn't work?