  Partitioning a data set by one or more of its attributes and computing an
aggregate for each part is one of the most common operations in data analyses.
There are use cases where the partitioning is determined dynamically by
collapsing smaller subsets into larger ones, to ensure sufficient support for
the computed aggregate. These use cases are not supported by software
implementing split-apply-combine types of operations. This paper presents the
\texttt{R} package \texttt{accumulate} that offers convenient interfaces for
defining grouped aggregation where the grouping itself is dynamically
determined, based on user-defined conditions on subsets, and a user-defined
subset collapsing scheme. The formal underlying algorithm is described and
analyzed as well.
