我只是潜入它...
DT_1 <- data.table(pk = c(1,1,2,2), val = 1:4, key = 'pk')
DT_2 <- data.table(pk = 1:2, att = c('a','b'), key = 'pk')
这很有效。
> DT_2[i = DT_1, j = `:=`(max_val = max(val))]
> DT_2
pk att max_val
1: 1 a 4
2: 2 b 4
这不是。
> DT_2[i = DT_1, j = `:=`(max_val = max(val)), by = .(pk)]
Error in `[.data.table`(DT_2, i = DT_1, j = .(max(val)), by = .(pk)) :
object 'val' not found
为什么以及如何处理它?</ p>