links:
https://news.ycombinator.com/item?id=8795778
https://cran.r-project.org/web/packages/data.table/data.table.pdf
DT is a data.table, then you can use:
DT[i,j,by] is quite consistent quitely and is comparable to SQL's : i = where,j = select | update, by = group by.
i: on which rows?
j:what to do?
by:grouped by what?
DT[ i,
DS = data.table(x=c(3:7), y=1:5, z=c(1,2,1,1,2))
> DS
x y z
1: 3 1 1
2: 4 2 2
3: 5 3 1
4: 6 4 1
5: 7 5 2
> DS[x >= 5, mean(y), by=z]
z V1
1: 1 3.5
2: 2 5.0