Syntaxe de data.table

Jointure de données avec data.table en R

Scott Ritchie

Postdoctoral Researcher in Systems Genomics

Récapitulatif de la syntaxe data.table

Forme générale de la syntaxe data.table

DT[i, j, by]
   |  |  |
   |  |  --> groupé par quoi ?
   |  -----> quoi faire ?
   --------> sur quelles lignes ?
Jointure de données avec data.table en R

Jointures

Forme générale des jointures en syntaxe data.table

DT[i, on]
   |   |
   |   ----> colonnes clés de la jointure
   --------> joindre à quel data.table ?
Jointure de données avec data.table en R

Jointures à droite

La jointure par défaut est une jointure à droite

demographics[shipping, on = .(name)]

Jointure de données avec data.table en R

L'argument on

Les variables dans list() ou .() sont cherchées parmi les noms de colonnes des deux data.table

shipping[demographics, on = list(name)]
shipping[demographics, on = .(name)]

On peut aussi utiliser des vecteurs de caractères

join_key <- c("name")
shipping[demographics, on = join_key]
Jointure de données avec data.table en R

Jointures à gauche

Rappel : une jointure à gauche équivaut à une jointure à droite avec l'ordre inversé :

shipping[demographics, on = .(name)]

Jointure de données avec data.table en R

Jointures internes

Indiquez nomatch = 0 pour effectuer une jointure interne :

shipping[demographics, on = .(name), nomatch = 0]

Jointure de données avec data.table en R

Jointures complètes

Impossible avec la syntaxe data.table ; utilisez plutôt la fonction merge() :

merge(demographics, shipping, by = "name", all = TRUE)

Jointure de données avec data.table en R

Anti-jointures

Filtrer un data.table pour ne garder que les lignes sans correspondance dans un autre data.table

demographics[!shipping, on = .(name)]

Jointure de données avec data.table en R

Passons à la pratique !

Jointure de données avec data.table en R

Preparing Video For Download...