Properties:
order(id) is equivalent to do.call(order, df)
rows containing the same data have the same value
if drop = FALSE then room for all possibilites
id(.variables, drop = FALSE)a numeric vector with attribute n, giving total number of possibilities