Reduce 不反映维度的过滤

Reduce does not reflect filtering of a dimension

在对组应用过滤器时,过滤后的更改不会反映在我的 mapreduced 组中。我希望将更改过滤掉 -- 或者过滤到

我的数据设置正常:

var rides = crossfilter(data),
all = rides.groupAll(),
gender = rides.dimension(function(d) { return d.gender; }),
gendersAvg = gender.group().reduce(reduceAddGender, reduceRemoveGender, reduceInitialGender).all(),

我的map reduce函数设置如下:

function reduceAddGender(p, v) {
                p.count++;
                return p;
            }
    function reduceRemoveGender(p, v) {
                p.count--;
                return p;
    }
    function reduceInitialGender() {
                return {
                    count: 0
                };
     }

我这样执行过滤:

gender.filter(function(d){ return d === parseInt(z[1]) || d === parseInt(z[0]) });

我的所有尺寸都反映了过滤器,除了一个。当我找出 GendersAvg post-过滤的值时,这些值不反映过滤器。

想法?第二次调用平均值也不会改变它的值。

最后,我决定创建一个单独的维度,执行我的过滤,以便所有组都反映它的值。

  duration = rides.dimension(function(d) { return d.timeonbike; }),
  durations = duration.group(),

  duration2 = rides.dimension(function(d) { return d.timeonbike; }),
  durationsAvg = duration2.groupAll().reduce(reduceAddDuration, reduceRemoveDuration, reduceInitialDuration).value(),