last by group dla wszystkich kolumn data.table
Byłem zaskoczony, wykonując następujące czynności:
R) system.time(lastOrder <- order[,lapply(.SD,tail,1),by="TRADER_ID,EXEC_IDATE"]);
utilisateur système écoulé
1.45 0.00 1.53
R) nrow(order)
[1] 75301
R) ncol(order)
[1] 23
Myślałem, że to bardzo długo, a potem tak
R) system.time(lastOrder <- order[,list(test=tail(EXEC_IDATE,1)),by="TRADER_ID,EXEC_IDATE"]);
utilisateur système écoulé
0.14 0.00 0.14
Z tego, co rozumiem, jeśli wiesz, że wszystkie wiersze do wyboru i pracują nad większością prac, są zrobione, to nie widzę powodu, by zastosować to do wszystkich kolumn powinno być 10x dłuższe. Czy robię coś złego na pierwszym bicie kodu, to jedyny sposób, w jaki mogę wybrać ostatnie wiersze według grupy