Skip to content

Commit a114c44

Browse files
authored
Update datatable-keys-fast-subset.Rmd #7220 realignment
based on: $ git diff 2f49a0d HEAD ./vignettes/datatable-keys-fast-subset.Rmd diff --git a/vignettes/datatable-keys-fast-subset.Rmd b/vignettes/datatable-keys-fast-subset.Rmd index d60552e..391b78d 100644
1 parent 4bfa7d4 commit a114c44

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

vignettes/fr/datatable-keys-fast-subset.Rmd

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ vignette: >
1111

1212
```{r echo=FALSE, file='../_translation_links.R'}
1313
```
14-
`r .write.translation.links("Translations of this document are available in: %s")`
14+
`r .write.translation.links("Une traduction de ce document est disponible en : %s")`
1515

1616
```{r, echo = FALSE, message = FALSE}
1717
require(data.table)
@@ -24,13 +24,16 @@ knitr::opts_chunk$set(
2424
.old.th = setDTthreads(1)
2525
```
2626

27-
Cette vignette s'adresse à ceux qui sont déjà familiers avec la syntaxe de *data.table*, sa forme générale, comment extraire des sous-ensembles de lignes dans `i`, sélectionner et faire des opérations sur des colonnes, ajouter/modifier/supprimer des colonnes *par référence* dans `j` et grouper en utilisant `by`. Si vous n'êtes pas familier avec ces concepts, veuillez d'abord lire les vignettes *"Introduction à data.table"* et *"Sémantique de référence"*.
27+
Cette vignette s'adresse à ceux qui sont déjà familiers avec la syntaxe de *data.table*, sa forme générale, comment extraire des sous-ensembles de lignes dans `i`, sélectionner et faire des opérations sur des colonnes, ajouter/modifier/supprimer des colonnes *par référence* dans `j` et grouper en utilisant `by`. 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)
2831

2932
***
3033

3134
## Données {#data}
3235

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

3538
```{r echo = FALSE}
3639
options(with = 100L)
@@ -58,7 +61,7 @@ Dans cette vignette, nous allons
5861

5962
### a) Qu'est-ce qu'une *clé* ?
6063

61-
Dans la vignette *"Introduction à data.table"*, nous avons vu comment sous-diviser des lignes dans `i` en utilisant des expressions logiques, des numéros de lignes et en utilisant `order()`. Dans cette section, nous allons voir une autre façon d'extraire des sous-ensembles de façon incroyablement rapide - en utilisant les *clés*.
64+
Dans la vignette [`vignette("datatable-intro", package="data.table")`](datatable-intro.html), nous avons vu comment sous-diviser des lignes dans `i` en utilisant des expressions logiques, des numéros de lignes et en utilisant `order()`. Dans cette section, nous allons voir une autre façon d'extraire des sous-ensembles de façon incroyablement rapide - en utilisant les *clés*.
6265

6366
Mais tout d'abord, commençons par examiner les *data.frames*. Tous les *data.frames* ont un attribut de noms de lignes (row names). Considérons le *data.frame* `DF` ci-dessous.
6467

@@ -144,7 +147,7 @@ head(flights)
144147

145148
* Alternativement, vous pouvez passer un vecteur de caractères contenant les noms de colonnes à la fonction `setkeyv()`. Cela est particulièrement utile lors de la conception de fonctions pour passer des colonnes à définir comme clé via des arguments de fonction.
146149

147-
* Notez que nous n'avons pas eu besoin d'assigner le résultat à une variable. C'est parce que, comme la fonction `:=` que nous avons vue dans la vignette *"Sémantique de référence"*, `setkey()` et `setkeyv()` modifient l'entrée *data.table* *par référence*. Elles renvoient le résultat de manière invisible.
150+
* Notez que nous n'avons pas eu besoin d'assigner le résultat à une variable. C'est parce que, comme la fonction `:=` que nous avons vue dans la [`vignette("datatable-reference-semantics", package="data.table")`](datatable-reference-semantics.html), `setkey()` et `setkeyv()` modifient l'entrée *data.table* *par référence*. Elles renvoient le résultat de manière invisible.
148151

149152
* La *data.table* est maintenant réordonnée (ou triée) par la colonne que nous avons fournie - `origin`. Comme nous réorganisons par référence, nous n'avons besoin que de la mémoire supplémentaire d'une colonne dont la longueur est égale au nombre de lignes de la *data.table*, ce qui est donc très efficace en termes de mémoire.
150153

@@ -252,7 +255,7 @@ flights[.(unique(origin), "MIA")]
252255

253256
Tout ce que nous avons vu jusqu'à présent repose sur le même concept -- obtenir les *indices de lignes* dans `i`, mais en utilisant une méthode différente -- en utilisant des `clés`. Il n'est donc pas surprenant que nous puissions faire exactement les mêmes opérations pour `j` et `by`, comme vu dans les vignettes précédentes. Nous allons illustrer cela avec quelques exemples.
254257

255-
### b) Sélection dans `j`
258+
### a) Sélection dans `j`
256259

257260
#### -- Renvoie la colonne `arr_delay` sous forme de *data.table* correspondant à `origin = "LGA"` et `dest = "TPA"`.
258261

@@ -263,7 +266,7 @@ flights[.("LGA", "TPA"), .(arr_delay)]
263266

264267
* Les *indices de ligne* correspondant à `origin == "LGA"` et `dest == "TPA"` sont obtenus à l'aide d'un *sous-ensemble basé sur une clé*.
265268

266-
* Une fois que nous avons les indices des lignes, nous examinons `j` qui ne nécessite que la colonne `arr_delay`. Nous sélectionnons donc simplement la colonne `arr_delay` pour ces *indices de lignes* de la même manière que nous l'avons vu dans la vignette *Introduction à data.table*.
269+
* Une fois que nous avons les indices des lignes, nous examinons `j` qui ne nécessite que la colonne `arr_delay`. Nous sélectionnons donc simplement la colonne `arr_delay` pour ces *indices de lignes* de la même manière que nous l'avons vu dans la [`vignette("datatable-intro", package="data.table")`](datatable-intro.html).
267270

268271
* Nous aurions également pu renvoyer le résultat en utilisant `with = FALSE`.
269272

@@ -291,7 +294,7 @@ flights[.("LGA", "TPA"), max(arr_delay)]
291294

292295
### d) *sous-affectation* par référence en utilisant `:=` dans `j`
293296

294-
Nous avons déjà vu cet exemple dans la vignette *Sémantique de référence*. Jetons un coup d'œil à toutes les heures (`hour`) disponibles dans la *data.table* `flights` :
297+
Nous avons déjà vu cet exemple dans la [`vignette("datatable-reference-semantics", package="data.table")`](datatable-reference-semantics.html). Jetons un coup d'œil à toutes les heures (`hour`) disponibles dans la *data.table* `flights` :
295298

296299
```{r}
297300
# récupère toutes les 'hours' de flights
@@ -416,10 +419,10 @@ N = 2e7L
416419
DT = data.table(x = sample(letters, N, TRUE),
417420
y = sample(1000L, N, TRUE),
418421
val = runif(N))
419-
print(object.size(DT), units = "Mb")
422+
print(object.size(DT), units = "Mib")
420423
```
421424

422-
`DT` est de ~380Mo. Ce n'est pas vraiment énorme, mais suffisant pour illustrer le propos.
425+
`DT` est de ~380Mio. Ce n'est pas vraiment énorme, mais suffisant pour illustrer le propos.
423426

424427
D'après ce que nous avons vu dans la section Introduction à data.table, nous pouvons faire un sous-ensemble des lignes où les colonnes `x = "g"` et `y = 877` comme suit :
425428

@@ -498,7 +501,7 @@ Dans cette vignette, nous avons appris une autre méthode pour subdiviser les li
498501

499502
* combiner les sous-ensembles basés sur les clés avec `j` et `by`. Notez que les opérations `j` et `by` sont exactement les mêmes que précédemment.
500503

501-
La création de sous-ensembles basés sur les clés est **incroyablement rapide** et particulièrement utile lorsque la tâche implique de créer des *sous-ensembles de manière répété*. Cependant, il peut ne pas toujours être souhaitable de définir une clé et de réorganiser physiquement la *data.table*. Dans la prochaine vignette, nous aborderons ce problème en utilisant une *nouvelle* fonctionnalité -- les *indices secondaires*.
504+
La création de sous-ensembles basés sur les clés est **incroyablement rapide** et particulièrement utile lorsque la tâche implique de créer des *sous-ensembles de manière répété*. Cependant, il peut ne pas toujours être souhaitable de définir une clé et de réorganiser physiquement la *data.table*. Dans la [prochaine (`vignette("datatable-secondary-indices-and-auto-indexing", package="data.table")`)](datatable-secondary-indices-and-auto-indexing.html), nous aborderons ce problème en utilisant une *nouvelle* fonctionnalité -- les *indices secondaires*.
502505

503506
```{r, echo=FALSE}
504507
setDTthreads(.old.th)

0 commit comments

Comments
 (0)