Sintassi di data.table

Unire i dati con data.table in R

Scott Ritchie

Postdoctoral Researcher in Systems Genomics

Ripasso della sintassi di data.table

Forma generale della sintassi di data.table

DT[i, j, by]
   |  |  |
   |  |  --> raggruppare per cosa?
   |  -----> cosa fare?
   --------> su quali righe?
Unire i dati con data.table in R

Join

Forma generale delle join con la sintassi data.table

DT[i, on]
   |   |
   |   ----> colonne chiave della join
   --------> con quale data.table fare la join?
Unire i dati con data.table in R

Right join

La join predefinita è una right join

demographics[shipping, on = .(name)]

Unire i dati con data.table in R

L'argomento on

Le variabili dentro list() o .() vengono cercate nei nomi colonna di entrambe le data.table

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

Si possono usare anche vettori di caratteri

join_key <- c("name")
shipping[demographics, on = join_key]
Unire i dati con data.table in R

Left join

Ricorda: una left join equivale a una right join con l'ordine invertito:

shipping[demographics, on = .(name)]

Unire i dati con data.table in R

Inner join

Imposta nomatch = 0 per eseguire un inner join:

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

Unire i dati con data.table in R

Full join

Non possibile con la sintassi data.table, usa la funzione merge():

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

Unire i dati con data.table in R

Anti-join

Filtra una data.table alle righe senza corrispondenza in un'altra data.table

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

Unire i dati con data.table in R

Esercitiamoci!

Unire i dati con data.table in R

Preparing Video For Download...