我不明白为什么在这个连接中我无法检索DT2的列sub_item?
DT <- data.table(ID=c(1:4),OBS_VALUE=10:13)
DT2 <- data.table(ID=c(1:4),sum_item=c(10,11.5,12.5,18))
setkey(DT,ID)
setkey(DT2,ID)
S_toset_sum <- DT[DT2,diff := abs(OBS_VALUE-sum_item)][diff<3]
在输出中我想仍然是sum_item,因为我想保留此列而不是OBS_VALUE列。
答案 0 :(得分:1)
您必须指定要保留的列以及您要加入的键。
S_toset_sum <- DT[DT2, on = 'ID', .(ID, OBS_VALUE, sum_item, diff = abs(OBS_VALUE-sum_item))][diff<3]