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(),
在对组应用过滤器时,过滤后的更改不会反映在我的 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(),