Jointure de données avec data.table en R
Scott Ritchie
Postdoctoral Researcher in Systems Genomics
Définir des clés évite d'utiliser l'argument on lors d'une jointure
data.table dans plusieurs jointures Trie le data.table en mémoire selon la ou les colonnes clés
Plusieurs colonnes peuvent être définies et utilisées comme clés
Les colonnes clés sont passées en arguments
setkey(DT, ...)
setkey(DT, key1, key2, key3)setkey(DT, "key1", "key2", "key3")
# Pour définir toutes les colonnes de DT comme clés
setkey(DT)
Définissez les clés des deux data.table avant une jointure
setkey(dt1, dt1_key)
setkey(dt2, dt2_key)
Effectuer des jointures interne, droite et gauche :
# Jointure interne de dt1 et dt2 dt1[dt2, nomatch = 0]# Jointure droite de dt1 et dt2 dt1[dt2]# Jointure gauche de dt1 et dt2 dt2[dt1]
Les colonnes clés sont fournies sous forme de vecteur de caractères
keys <- c("key1", "key2", "key3")
setkeyv(dt, keys)
haskey() vérifie si des clés sont définies
haskey(dt1)
TRUE
key() renvoie les colonnes clés définies
key(dt1)
"dt1_key"
Quand aucune clé n'est définie
haskey(dt_no_key)
FALSE
key(dt_no_key)
NULL
tables()
NAME NROW NCOL MB COLS KEY
[1,] dt 3 4 1 key1,key2,key3,value key1,key2,key3
[2,] dt1 1,000 3 1 dt1_key_column,value,group dt1_key
[3,] dt2 1,000 2 1 dt2_key_column,time dt2_key
[4,] dt_no_key 5 2 1 id,color
Total: 4MB
Jointure de données avec data.table en R