DT[where, select|update|do, by] syntax is used to work with columns of a data.table.
i argumentj argumentThese two arguments are usually passed by position instead of by name.
A sequence of steps can be chained like DT[...][...].
DT[...]| Function or symbol | Notes | 
|---|---|
.() | in several arguments, replaces list() | 
J() | in i, replaces list() | 
:= | in j, a function used to add or modify columns | 
.N | in i, the total number of rows in j, the number of rows in a group | 
.I | in j, the vector of row numbers in the table (filtered by i) | 
.SD | in j, the current subset of the data selected by the .SDcols argument | 
.GRP | in j, the current index of the subset of the data | 
.BY | in j, the list of by values for the current subset of data | 
V1, V2, ... | default names for unnamed columns created in j | 
DT[...]| Notation | Notes | 
|---|---|
DT1[DT2, on, j] | join two tables | 
i.* | special prefix on DT2's columns after the join | 
by=.EACHI | special option available only with a join | 
DT1[!DT2, on, j] | anti-join two tables | 
DT1[DT2, on, roll, j] | join two tables, rolling on the last column in on= | 
| Notation | Notes | 
|---|---|
melt(DT, id.vars, measure.vars) | transform to long format   for multiple columns, use measure.vars = patterns(...) | 
dcast(DT, formula) | transform to wide format | 
rbind(DT1, DT2, ...) | stack enumerated data.tables | 
rbindlist(DT_list, idcol) | stack a list of data.tables | 
split(DT, by) | split a data.table into a list | 
| Function(s) | Notes | 
|---|---|
foverlaps | overlap joins | 
merge | another way of joining two tables | 
set | another way of adding or modifying columns | 
fintersect, fsetdiff, funion, fsetequal, unique, duplicated, anyDuplicated | set-theory operations with rows as elements | 
CJ | the Cartesian product of vectors | 
uniqueN | the number of distinct rows | 
rowidv(DT, cols) | row ID (1 to .N) within each group determined by cols | 
rleidv(DT, cols) | group ID (1 to .GRP) within each group determined by runs of cols | 
shift(DT, n) | apply a shift operator to every column | 
setorder, setcolorder, setnames, setkey, setindex, setattr | modify attributes and order by reference | 
| Features | Notes | 
|---|---|
IDate and ITime | integer dates and times |