export function aggregate()

in src/utils/aggregate-utils.js [41:71]


export function aggregate(data, technique) {
  switch (technique) {
    case AGGREGATION_TYPES.average:
      return mean(data);
    case AGGREGATION_TYPES.countUnique:
      return Object.keys(
        data.reduce((uniques, val) => {
          uniques[val] = uniques[val] || 0;
          uniques[val] += 1;
          return uniques;
        }, {})
      ).length;
    case AGGREGATION_TYPES.mode:
      return getMode(data);

    case AGGREGATION_TYPES.maximum:
      return max(data);
    case AGGREGATION_TYPES.minimum:
      return min(data);
    case AGGREGATION_TYPES.median:
      return median(data);
    case AGGREGATION_TYPES.stdev:
      return deviation(data);
    case AGGREGATION_TYPES.sum:
      return sum(data);
    case AGGREGATION_TYPES.variance:
      return variance(data);
    default:
      return data.length;
  }
}