The solution to this simple problem has eluded me for several hours. I have a data table in which a value is identified by several classification variables (A, B, L). Where there are observations characterized by duplicate classification variables A & B, I want to retain the one that has the highest 'L'. So, if I have a table generated with this code
set.seed(17)
DT <- data.table(A=rep(c("a","b"),each=5), 
    B=c("a","b","c","d","d","a","b","b","c","d"), 
    L=c(1,1,1,2,1,1,1,2,1,1),
    val=rnbinom(10, size=2, mu=3))
Making the following:
A B L val
 1: a a 1   1
 2: a b 1  10
 3: a c 1   3
 4: a d 1   5
 5: a d 2   2
 6: b a 1   8
 7: b b 1   7
 8: b b 2   1
 9: b c 1   2
10: b d 1   2
I have tried commands such as
setkey(DT,A,B,L)
DT[ , .(A,B,L,val)  , mult="last"] 
but I'm just not getting something. I want a resulting table that looks like this
 A B L val
 1: a a 1   1
 2: a b 1  10
 3: a c 1   3
 5: a d 2   2
 6: b a 1   8
 8: b b 2   1
 9: b c 1   2
10: b d 1   2
 
     
     
     
    