Unire i dati con data.table in R
Scott Ritchie
Postdoctoral Researcher in Systems Genomics
Impostare le chiavi evita di usare l'argomento on nei join
data.table in molti join diversi Ordina in memoria la data.table per le colonne chiave
Puoi impostare e usare più colonne come chiavi
Le colonne chiave si passano come argomenti
setkey(DT, ...)
setkey(DT, key1, key2, key3)setkey(DT, "key1", "key2", "key3")
# Per impostare tutte le colonne di DT come chiavi
setkey(DT)
Imposta le chiavi di entrambe le data.table prima di un join
setkey(dt1, dt1_key)
setkey(dt2, dt2_key)
Esegui un inner, right e left join:
# Inner join tra dt1 e dt2 dt1[dt2, nomatch = 0]# Right join tra dt1 e dt2 dt1[dt2]# Left join tra dt1 e dt2 dt2[dt1]
Le colonne chiave sono fornite come vettore di caratteri
keys <- c("key1", "key2", "key3")
setkeyv(dt, keys)
haskey() verifica se hai impostato le chiavi
haskey(dt1)
TRUE
key() restituisce le colonne chiave impostate
key(dt1)
"dt1_key"
Quando non sono impostate chiavi
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
Unire i dati con data.table in R