## Not run: 
# DT = data.table(x=rep(c("b","a","c"),each=3), v=c(1,1,1,2,2,1,1,2,2), y=c(1,3,6), a=1:9, b=9:1)
# DT
# X = data.table(x=c("c","b"), v=8:7, foo=c(4,2))
# X
# 
# DT[.N]                                 # last row, only special symbol allowed in 'i'
# DT[, .N]                               # total number of rows in DT
# DT[, .N, by=x]                         # number of rows in each group
# DT[, .SD, .SDcols=x:y]                 # select columns 'x' and 'y'
# DT[, .SD[1]]                           # first row of all columns
# DT[, .SD[1], by=x]                     # first row of 'y' and 'v' for each group in 'x'
# DT[, c(.N, lapply(.SD, sum)), by=x]    # get rows *and* sum columns 'v' and 'y' by group
# DT[, .I[1], by=x]                      # row number in DT corresponding to each group
# DT[, .N, by=rleid(v)]                  # get count of consecutive runs of 'v'
# DT[, c(.(y=max(y)), lapply(.SD, min)), 
#         by=rleid(v), .SDcols=v:b]      # compute 'j' for each consecutive runs of 'v'
# DT[, grp := .GRP, by=x]                # add a group counter
# X[, DT[.BY, y, on="x"], by=x]          # join within each group
# ## End(Not run)Run the code above in your browser using DataLab