When there are multiple factors to split by, Base R split returns a flattened structure by splitting on the interaction of all factors. rsplit instead returns a nested list-of-lists.
rsplit(x, by, drop = FALSE)
a data.frame or vector
a data.frame of factors
drop unused factor levels
a nested list of dataframes, split by each element of by
Inspired by, but different from the below