оптимизировать будут?
а то тут такое дело в data table
> system.time(
+ lc2[,.I[rank==max(rank)],client_code][])
user system elapsed
0.605 0.017 0.637
> system.time(
+ lc2[,.SD[rank==max(rank)],client_code][])
Timing stopped at: 63.17 2.041 66.88
а оба эти варианта точно возвращают одно и то же? https://stackoverflow.com/questions/31852294/how-to-speed-up-subset-by-groups тут пишут, что уже все оптимизировано для таких простых случаев, как mean(), max() и пр.
Ну не совсем, но затратная операция одинаковая. Вот с идентичным возвратом > system.time(lc2[lc2[,.I[rank==max(rank)],client_code]$V1]) user system elapsed 0.737 0.028 0.779 > system.time(lc2[,.SD[rank==max(rank)],client_code][]) Timing stopped at: 33.32 0.743 34.57
Обсуждают сегодня