La manière efficace d'effectuer le filtre du dernier exemple serait plutôt
data2 <- copy(data)
setkey(data2, Id_Intersection)
data2[.(1730)][1:5, .(Id_Intersection, Saison, Nb_Passage)]
## Id_Intersection Saison Nb_Passage
## 1: 1730 Printemps 89
## 2: 1730 Automne 56
## 3: 1730 Printemps 7
## 4: 1730 Printemps 10
## 5: 1730 Automne 15
En réalité, si on ne fait qu'une opération de filtre sur un objet de classe data.table
, les deux techniques proposées sont presque équivalentes en temps de calcul. Cependant, aussitôt qu'on fait plus d'un filtres différents, la deuxième technique devient significativement plus efficace.