Skip to content

Commit 8ea1e11

Browse files
committed
Merge branch 'master' into froll-nman
2 parents cff2b6d + 9b421c8 commit 8ea1e11

14 files changed

+205
-97
lines changed

vignettes/datatable-joins.Rmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ Products[ProductReceived,
169169
on = list(id = product_id)]
170170
```
171171

172-
- Wrapping the related columns in the `data.table` `list` alias `.`.
172+
- Wrapping the related columns in the `list` alias `.`.
173173

174174
```{r, eval=FALSE}
175175
Products[ProductReceived,

vignettes/datatable-reshape.Rmd

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -143,11 +143,11 @@ However, there are situations we might run into where the desired operation is n
143143

144144
```{r}
145145
s2 <- "family_id age_mother name_child1 name_child2 name_child3 gender_child1 gender_child2 gender_child3
146-
1 30 Ben Anna NA 1 2 NA
147-
2 27 Tom NA NA 2 NA NA
148-
3 26 Lia Sam Amy 2 2 1
149-
4 32 Max Zoe Joe 1 1 1
150-
5 29 Dan Eva NA 2 1 NA"
146+
1 30 Ben Anna NA 1 2 NA
147+
2 27 Tom NA NA 2 NA NA
148+
3 26 Lia Sam Amy 2 2 1
149+
4 32 Max Zoe Joe 1 1 1
150+
5 29 Dan Eva NA 2 1 NA"
151151
DT <- fread(s2)
152152
DT
153153
## 1 = female, 2 = male

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,11 @@ knitr::opts_chunk$set(
2424
.old.th = setDTthreads(1)
2525
```
2626

27-
This vignette assumes that the reader is familiar with data.table's `[i, j, by]` syntax, and how to perform fast key based subsets. If you're not familiar with these concepts, please read the [`vignette("datatable-intro", package="data.table")`](datatable-intro.html), [`vignette("datatable-reference-semantics", package="data.table")`](datatable-reference-semantics.html), and [`vignette("datatable-keys-fast-subset", package="data.table")`](datatable-keys-fast-subset.html) vignettes first.
27+
This vignette assumes that the reader is familiar with data.table's `[i, j, by]` syntax, and how to perform fast key based subsets. If you're not familiar with these concepts, please read the following vignettes first:
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

vignettes/fr/datatable-benchmarking.Rmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ h2 {
2020

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

2525
Ce document a pour but de guider la mesure de la performance de `data.table`. Il centralise la documentation des meilleures pratiques et des pièges à éviter.
2626

vignettes/fr/datatable-faq.Rmd

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,19 @@ vignette: >
1616
h2 {
1717
font-size: 20px;
1818
}
19-
#TOC { width: 100%; }
19+
20+
#TOC {
21+
border: 1px solid #ccc;
22+
border-radius: 5px;
23+
padding-left: 1em;
24+
background: #f6f6f6;
25+
width: 100%;
26+
}
2027
</style>
2128

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

2633
```{r, echo = FALSE, message = FALSE}
2734
library(data.table)
@@ -582,7 +589,10 @@ DT[ , b := rnorm(5)] # « remplace » la colonne entière par une colonne num
582589

583590
## Lecture de data.table à partir d'un fichier RDS ou RData
584591

585-
`*.RDS` et `*.RData` sont des types de fichiers qui permettent de stocker efficacement des objets R en mémoire sur le disque. Cependant, le stockage de data.table dans le fichier binaire perd sa sur-allocation de colonnes. Ce n'est pas très grave -- votre data.table sera copié en mémoire lors de la prochaine opération *par référence* et lancera un avertissement. Il est donc recommandé d'appeler `setalloccol()` sur chaque data.table chargée avec les appels `readRDS()` ou `load()`.
592+
`*.RDS` et `*.RData` sont des types de fichiers qui permettent de stocker efficacement des objets R en mémoire sur le disque. Cependant, le stockage de data.table dans le fichier binaire perd sa sur-allocation de colonnes (voir aussi `?truelength`). Ce n'est pas très grave -- votre `data.table` sera copié en mémoire lors de la prochaine opération _par référence_ et lancera un avertissement.
593+
C'est pourquoi il est recommandé d'appeler `setDT()` sur chaque `data.table` chargé par un appel à `readRDS()` ou `load()` afin de restaurer ses attributs internes. Si vous avez simplement besoin de préallouer de l'espace pour de nouvelles colonnes, vous pouvez également utiliser `setalloccol()`.
594+
595+
Pour d'autres informations, voir `?setDT` et `?truelength`.
586596

587597
# Questions générales sur le package
588598

vignettes/fr/datatable-importing.Rmd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ h2 {
1717

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

2222
Ce document se concentre sur l'utilisation de `data.table` comme dépendance dans d'autres packages R. Si vous souhaitez utiliser le code C de `data.table` à partir d'une application non-R, ou appeler directement ses fonctions C, passez à la [dernière section](#non-r-API) de cette vignette.
2323

@@ -75,7 +75,7 @@ dt2 = aggr(dt)
7575
stopifnot(nrow(dt2) < 100)
7676
```
7777

78-
Lorsque vous testez votre package, vous pouvez utiliser `R CMD check --no-stop-on-test-error`, qui continuera après une erreur et exécutera tous vos tests (au lieu de s'arrêter à la première ligne de script qui a échoué).
78+
Lorsque vous testez votre package, vous pouvez utiliser `R CMD check --no-stop-on-test-error`, qui continuera après une erreur et exécutera tous vos tests (au lieu de s'arrêter à la première ligne du script qui a échoué).
7979

8080
## Tester en utilisant `testthat`
8181

vignettes/fr/datatable-intro.Rmd

Lines changed: 30 additions & 5 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)
@@ -101,7 +101,7 @@ Vous pouvez aussi convertir des objets existants en une `data.table` en utilisan
101101
getOption("datatable.print.nrows")
102102
```
103103
104-
* `data.table` ne définit ni n'utilise jamais de *nom de ligne*. Nous verrons pourquoi dans la vignette *"Sous-ensemble basé sur des clés et recherche binaire rapide"*.
104+
* `data.table` ne définit ni n'utilise jamais de *nom de ligne*. Nous verrons pourquoi dans la [`vignette("datatable-keys-fast-subset", package="data.table")`](datatable-keys-fast-subset.html).
105105
106106
### b) Forme générale - dans quel sens la 'data.table' est-elle *étendue* ? {#enhanced-1b}
107107
@@ -479,7 +479,7 @@ ans
479479

480480
**Clés :** actuellement `keyby` en fait un peu plus que *simplement trier*. Il *définit une clé* également après le tri en initialisant un `attribute` appelé `sorted`.
481481

482-
Nous en apprendrons plus au sujet des `clés` dans la vignette *Clés et sous-ensembles basés sur la recherche binaire rapide*; pour l'instant, tout ce que vous devez savoir est que vous pouvez utiliser `keyby` pour trier automatiquement le résultat selon les colonnes spécifiées dans `by`.
482+
Nous en apprendrons plus au sujet des `clés` dans la [`vignette("datatable-keys-fast-subset", package="data.table")`](datatable-keys-fast-subset.html); pour l'instant, tout ce que vous devez savoir est que vous pouvez utiliser `keyby` pour trier automatiquement le résultat selon les colonnes spécifiées dans `by`.
483483

484484
### c) Chaînage
485485

@@ -643,6 +643,31 @@ DT[, print(list(c(a,b))), by = ID] # (2)
643643

644644
Dans (1), pour chaque groupe, un vecteur est renvoyé, de longueur = 6,4,2 ici. Néanmoins, (2) renvoie une liste de longueur 1 pour chaque groupe, dont chaque premier élément contient des vecteurs de longueur 6,4,2. C'est pourquoi, (1) a pour longueur totale `6+4+2 =`r 6+4+2``, alors que (2) renvoie `1+1+1=`r 1+1+1``.
645645

646+
La flexibilité de j nous permet de ranger toute liste d'objets comme un élément de data.table. Par exemple lorsque des modèles statistiques sont adaptés aux groupes, ils peuvent être placés dans un data.table. Le code est concis et facile à comprendre.
647+
648+
```{r}
649+
## les vols long courrier couvrent-ils les retards au départ davantage que les vols à courte distance ?
650+
## la couverture varie-t-elle selon les mois ?
651+
flights[, `:=`(makeup = dep_delay - arr_delay)]
652+
653+
makeup.models <- flights[, .(fit = list(lm(makeup ~ distance))), by = .(month)]
654+
makeup.models[, .(coefdist = coef(fit[[1]])[2], rsq = summary(fit[[1]])$r.squared), by = .(month)]
655+
```
656+
657+
Avec les data.frames il nous faut un code plus complexe pour obtenir le même résultat.
658+
659+
```{r}
660+
setDF(flights)
661+
flights.split <- split(flights, f = flights$month)
662+
makeup.models.list <- lapply(flights.split, function(df) c(month = df$month[1], fit = list(lm(makeup ~ distance, data = df))))
663+
makeup.models.df <- do.call(rbind, makeup.models.list)
664+
data.frame(t(sapply(
665+
makeup.models.df[, "fit"],
666+
function(model) c(coefdist = coef(model)[2L], rsq = summary(model)$r.squared)
667+
)))
668+
setDT(flights)
669+
```
670+
646671
## Résumé
647672

648673
La forme générale de la syntaxe de `data.table` est :
@@ -659,7 +684,7 @@ Jusqu'ici nous avons vu que,
659684

660685
* Nous pouvons également trier un `data.table` en utilisant `order()`, qui utilise en interne l’algorithme de tri rapide de data.table pour de meilleures performances.
661686

662-
Nous pouvons faire beaucoup plus dans `i` en créant une `data.table` avec clés, ce qui permet de réaliser rapidement les sous-ensembles et les jointures. Nous verrons cela dans les vignettes *"Clés et sous-ensembles basés sur la recherche binaire rapide"* et *"Jointures et jointures liées au temps"*.
687+
Nous pouvons faire beaucoup plus dans `i` en créant une `data.table` avec clés, ce qui permet de réaliser rapidement les sous-ensembles et les jointures. Nous verrons cela dans les [`vignette("datatable-keys-fast-subset", package="data.table")`](datatable-keys-fast-subset.html) et [`vignette("datatable-joins", package="data.table")`](datatable-joins.html).
663688

664689
#### En utilisant `j` :
665690

@@ -693,7 +718,7 @@ Nous pouvons faire beaucoup plus dans `i` en créant une `data.table` avec clés
693718

694719
Tant que `j` renvoie un objet `list`, chaque élément de la liste va devenir une colonne du `data.table` résultant.
695720

696-
Nous verrons dans la vignette suivante comment *ajouter / mettre à jour / supprimer* des colonnes *par référence* et comment les combiner avec `i` et `by` .
721+
Nous verrons dans la prochaine [(`vignette("datatable-reference-semantics", package="data.table")`)](datatable-reference-semantics.html) comment *ajouter / mettre à jour / supprimer* des colonnes *par référence* et comment les combiner avec `i` et `by` .
697722

698723
***
699724

0 commit comments

Comments
 (0)