如果我尝试连接两个具有相同列名的data.tables,那么.1
会附加到其中一个名称,但我似乎无法访问{{1}中的名称1}} j
表达式的一部分。
示例:
DT[]
这个问题的动机是我认为单个电话会更快,事实证明并非如此,导致另外一个问题:Why is DT1[DT2][, value1-value] faster than DT1[DT2, value1-value] on data.table with fewer columns?
答案 0 :(得分:2)
您可以在data.table
中引用i
的列,即DT2
列,其前缀为i
,如下所示:
DT1[DT2, list(val=i.value-value)]
name val
1: a 1
2: b 1
3: c 1
4: d 1
5: e 1
# Data used
DT1 <- data.table(name=letters[1:5], value=2:6)
DT2 <- data.table(name=letters[1:5], value=3:7)
setkey(DT1, name)