Al usar Crossfilter, ¿es posible realizar un seguimiento de max / min al agrupar?

Cuando utilizo Crossfilter (https://github.com/square/crossfilter), especifico funciones para usar al agregar y eliminar datos de un grupo. Es bastante trivial hacer un seguimiento de un promedio de ejecución (usando CoffeeScript):

<code>reduceAdd = (p, v) ->
  ++p.count;
  p.sum += v.digit;
  p

reduceRemove = (p, v) ->
  --p.count;
  p.sum -= v.digit;
  p

reduceInitial = ->
  {
    count: 0
    sum: 0
    average: ->
      return 0 if this.count == 0
      return this.sum / this.count
  }
</code>

¿Es posible realizar un seguimiento del máximo y mínimo de cada grupo? No puedo encontrar una manera más corta de mantener todos los elementos en una gran variedad y hacer un d3.min / d3.max. Parece que agregar / eliminar datos sería extremadamente ineficiente.

También busqué una manera de decirle a Crossfilter que reconstruya completamente el grupo desde cero, en lugar de eliminar elementos de un grupo existente. Si se aplica un filtro, el grupo se restablece y se reconstruye. Nada obvio.

Respuestas a la pregunta(3)

Su respuesta a la pregunta