Łączenie danych z data.table w R
Scott Ritchie
Postdoctoral Researcher in Systems Genomics
Ogólna postać składni data.table
DT[i, j, by]
| | |
| | --> grupuj według czego?
| -----> co zrobić?
--------> na których wierszach?
Ogólna postać złączeń w składni data.table
DT[i, on]
| |
| ----> kolumny klucza złączenia
--------> z którą data.table złączyć?
Domyślne złączenie to prawe złączenie
demographics[shipping, on = .(name)]

Zmienne w list() lub .() są wyszukiwane wśród nazw kolumn obu data.table
shipping[demographics, on = list(name)]
shipping[demographics, on = .(name)]
Można również używać wektorów znakowych
join_key <- c("name")
shipping[demographics, on = join_key]
Pamiętaj, że lewe złączenie to prawe złączenie z odwróconą kolejnością:
shipping[demographics, on = .(name)]

Ustaw nomatch = 0, aby wykonać złączenie wewnętrzne:
shipping[demographics, on = .(name), nomatch = 0]

Niemożliwe w składni data.table — należy użyć funkcji merge():
merge(demographics, shipping, by = "name", all = TRUE)

Filtruje data.table do wierszy bez dopasowania w innej data.table
demographics[!shipping, on = .(name)]

Łączenie danych z data.table w R