Skip to content

Commit 773b3ab

Browse files
authored
Update datatable-secondary-indices-and-auto-indexing.Rmd #7220 realign
1 parent fc7ba7f commit 773b3ab

File tree

1 file changed

+38
-6
lines changed

1 file changed

+38
-6
lines changed

vignettes/fr/datatable-secondary-indices-and-auto-indexing.Rmd

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,17 @@ knitr::opts_chunk$set(
2424
.old.th = setDTthreads(1)
2525
```
2626

27-
Cette vignette suppose que le lecteur est familier avec la syntaxe `[i, j, by]` de data.table, et sur la façon d’effectuer des sous-ensembles basés sur des clés rapides. Si vous n'êtes pas familier avec ces concepts, veuillez d'abord lire les vignettes [`vignette("Introduction à data.table", package="data.table")`](datatable-intro.html), [`vignette("Sémantique de référence", package="data.table")`](datatable-reference-semantics.html), and [`vignette("Sous-ensembles basés sur les clés et la recherche binaire rapide", package="data.table")`](datatable-keys-fast-subset.html) vignettes first.
27+
Cette vignette suppose que le lecteur est familier avec la syntaxe `[i, j, by]` de data.table, et sur la façon d’effectuer des sous-ensembles basés sur des clés rapides. Si vous n'êtes pas familier avec ces concepts, veuillez d'abord lire les vignettes suivantes :
28+
29+
- [`vignette("datatable-intro", package="data.table")`](datatable-intro.html)
30+
- [`vignette("datatable-reference-semantics", package="data.table")`](datatable-reference-semantics.html)
31+
- [`vignette("datatable-keys-fast-subset", package="data.table")`](datatable-keys-fast-subset.html).
2832

2933
***
3034

3135
## Données {#data}
3236

33-
Nous utiliserons les mêmes données `flights` que dans la vignette [`vignette("Introduction à data.table", package="data.table")`](datatable-intro.html).
37+
Nous utiliserons les mêmes données `flights` que dans la [`vignette("datatable-intro", package="data.table")`](datatable-intro.html).
3438

3539
```{r echo = FALSE}
3640
options(width = 100L)
@@ -62,6 +66,26 @@ Les indices secondaires sont similaires aux `clés` dans *data.table*, à l'exce
6266

6367
* Il peut y avoir plus d'un index secondaire pour une table de données (comme nous le verrons plus loin).
6468

69+
#### Clés et sous-ensembles rapides
70+
71+
Bien que **clés** et **indices** permettent à deux, les sous ensembles de la recherche binaire rapide, ils sont différents par leur utilisation :
72+
73+
**Indices par clé** (correspondance par colonne implicite)
74+
75+
```{r keyed_operations}
76+
DT = data.table(a = c(TRUE, FALSE), b = 1:2)
77+
setkey(DT, a) # définit la clé, réorganise DT
78+
DT[.(TRUE)] # 'on' est facultatif; si omis, la clé est utilisée
79+
```
80+
81+
**Sous ensembles indexés** (spécification explicite de colonne)
82+
83+
```{r unkeyed_operations}
84+
DT = data.table(a = c(TRUE, FALSE), b = 1:2)
85+
setindex(DT, a) # définir l'index seulement (sans réorganiser)
86+
DT[.(TRUE), on = "a"] # 'on' est nécessaire
87+
```
88+
6589
### b) Définir et obtenir des indices secondaires
6690

6791
#### -- Comment définir la colonne `origin` comme index secondaire dans l’objet *data.table* `flights` ?
@@ -191,9 +215,17 @@ flights[.("JFK", "LAX"), on = c("origin", "dest")][1:5]
191215

192216
* Comme le temps de calcul de l'index secondaire est assez faible, nous n'avons pas besoin d'utiliser `setindex()`, sauf si, une fois de plus, la tâche implique un sous-ensemble répété sur la même colonne.
193217

218+
* Pour la lisibilité et la compréhension, on peut nommer les entrées inputs dans `i`, par exemple :
219+
220+
```{r}
221+
flights[.(origin = "JFK", dest = "LAX"), on = c("origin", "dest")]
222+
```
223+
224+
On voit clairement quelles entrées de `j` correspondent à quel élément de `on`.
225+
194226
### b) Sélection dans `j`
195227

196-
Toutes les opérations que nous allons discuter ci-dessous ne sont pas différentes de celles que nous avons déjà vues dans la vignette *Clé et recherche binaire rapide basée sur un sous-ensemble*. Sauf que nous utiliserons l'argument `on` au lieu de définir des clés.
228+
Toutes les opérations que nous allons discuter ci-dessous ne sont pas différentes de celles que nous avons déjà vues dans la [`vignette("datatable-keys-fast-subset", package="data.table")`](datatable-keys-fast-subset.html). Sauf que nous utiliserons l'argument `on` au lieu de définir des clés.
197229

198230
#### -- Retourner la colonne `arr_delay` seule en tant que data.table correspondant à `origin = "LGA"` et `dest = "TPA"`
199231

@@ -219,7 +251,7 @@ flights[.("LGA", "TPA"), max(arr_delay), on = c("origin", "dest")]
219251

220252
### e) *sous-assignation* par référence en utilisant `:=` dans `j`
221253

222-
Nous avons déjà vu cet exemple dans les vignettes *Sémantique des références* et *Clé et sous-ensemble basé sur la recherche binaire rapide*. Regardons toutes les `heures` disponibles dans le *data.table* `flights` :
254+
Nous avons déjà vu cet exemple dans la [`vignette("datatable-reference-semantics", package="data.table")`](datatable-reference-semantics.html) et la [`vignette("datatable-keys-fast-subset", package="data.table")`](datatable-keys-fast-subset.html). Regardons toutes les `heures` disponibles dans le *data.table* `flights` :
223255

224256
```{r}
225257
# récupère toutes les 'hours' de flights
@@ -253,7 +285,7 @@ head(ans)
253285

254286
### g) L'argument *mult*
255287

256-
Les autres arguments, y compris `mult`, fonctionnent exactement de la même manière que nous l'avons vu dans la vignette *Keys and fast binary search based subset*. La valeur par défaut de `mult` est "all". Nous pouvons choisir de ne renvoyer que les "premières" ou "dernières" lignes correspondantes.
288+
Les autres arguments, y compris `mult`, fonctionnent exactement de la même manière que nous l'avons vu dans la [`vignette("datatable-keys-fast-subset", package="data.table")`](datatable-keys-fast-subset.html). La valeur par défaut de `mult` est "all". Nous pouvons choisir de ne renvoyer que les "premières" ou "dernières" lignes correspondantes.
257289

258290
#### -- Sous-ensemble contenant uniquement la première ligne correspondante où `dest` correspond à *"BOS"* et *"DAY"*
259291

@@ -327,7 +359,7 @@ system.time(dt[x %in% 1989:2012])
327359

328360
Dans la version récente, nous avons étendu l'indexation automatique aux expressions impliquant plus d'une colonne (combinées avec l'opérateur `&`). Dans le futur, nous prévoyons d'étendre la recherche binaire à d'autres opérateurs binaires comme `<`, `<=`, `>` et `>=`.
329361

330-
Nous aborderons les *sous-ensembles* rapides utilisant des clés et des indices secondaires pour les *joints* dans la prochaine vignette, *"Joints et jointures roulantes"*.
362+
Nous aborderons les *sous-ensembles* rapides utilisant des clés et des indices secondaires pour les *joints* dans la [prochaine (`vignette("datatable-joins", package="data.table")`)](datatable-joins.html).
331363

332364
***
333365

0 commit comments

Comments
 (0)