Syntaxe data.table

Joining Data with data.table in R

Scott Ritchie

Postdoctoral Researcher in Systems Genomics

Opakování syntaxe data.table

Obecná forma syntaxe data.table

DT[i, j, by]
   |  |  |
   |  |  --> seskupit podle čeho?
   |  -----> co provést?
   --------> na kterých řádcích?
Joining Data with data.table in R

Joins

Obecná forma joinů v syntaxi data.table

DT[i, on]
   |   |
   |   ----> klíčové sloupce joinu
   --------> připojit ke které data.table?
Joining Data with data.table in R

Right joins

Výchozí join je right join

demographics[shipping, on = .(name)]

Joining Data with data.table in R

Argument on

Proměnné uvnitř list() nebo .() jsou vyhledávány v názvech sloupců obou data.table

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

Lze také použít znakové vektory

join_key <- c("name")
shipping[demographics, on = join_key]
Joining Data with data.table in R

Left joins

Left join je stejný jako right join s prohozeným pořadím:

shipping[demographics, on = .(name)]

Joining Data with data.table in R

Inner joins

Nastavte nomatch = 0 pro inner join:

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

Joining Data with data.table in R

Full joins

Se syntaxí data.table není možné, použijte funkci merge():

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

Joining Data with data.table in R

Anti-joins

Filtruje data.table na řádky bez shody v jiné data.table

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

Joining Data with data.table in R

Pojďme procvičovat!

Joining Data with data.table in R

Preparing Video For Download...