_.each(stats, function(p) { headers.push("p" + parseInt(p, 10)); p = p * 10; var cell; if (compare_percentiles) { cell = helpers.build_compare_cell(percentiles[p][1], compare_percentiles[p][1]); } else { cell = $("<div>").html(helpers.count_format(percentiles[p][1])); } row.push(cell); });
function render_percentiles(xmin, xmax) { // render this business var outerEl = $("<div>"); var shortStatsEl = $el.find(".short_stats"); var percentiles = self.data.percentiles; var compare_percentiles = self.compare_data && self.compare_data.percentiles; function render_stats_overview(stats, headers, row) { headers = headers || []; row = row || []; _.each(stats, function(p) { headers.push("p" + parseInt(p, 10)); p = p * 10; var cell; if (compare_percentiles) { cell = helpers.build_compare_cell(percentiles[p][1], compare_percentiles[p][1]); } else { cell = $("<div>").html(helpers.count_format(percentiles[p][1])); } row.push(cell); }); var table = helpers.build_table(dataset, headers, [row]); // only class attr. table.attr("class", "table percentile_table"); return table; } outerEl.append($("<h2>Moments</h2>")); var headers = ["count", "average", "trimean", "", ""]; var row = []; function trimean(data) { return (data.percentiles[500][1] * 2 + data.percentiles[250][1] + data.percentiles[750][1]) / 4; } if (self.compare_data) { row.push(helpers.build_compare_cell(self.data.count, self.compare_data.count)); if (self.data.weighted_count) { row.push(helpers.build_compare_cell(self.data.w_average, self.compare_data.w_average)); } else { row.push(helpers.build_compare_cell(self.data.average, self.compare_data.average)); } row.push(helpers.build_compare_cell(trimean(self.data), trimean(self.compare_data))); } else { row.push(helpers.count_format(self.data.count)); if (self.data.weighted_count) { row.push(helpers.count_format(self.data.w_average)); } else { row.push(helpers.count_format(self.data.average)); } row.push(helpers.count_format(trimean(self.data))); } if (self.data.weighted_count) { headers.unshift("weighted count"); if (compare_percentiles) { row.unshift(helpers.build_compare_cell(self.data.weighted_count, self.compare_data.weighted_count)); } else { row.unshift(helpers.count_format(self.data.weighted_count)); } } var table = helpers.build_table(dataset, headers, [row]); // only class attr. table.attr("class", "table moment_table"); outerEl.append(table); outerEl.append($("<h2>Percentiles</h2>")); outerEl.append(render_stats_overview([5, 25, 50, 75, 95])); outerEl.append($("<h2>Outliers</h2>")); outerEl.append(render_stats_overview([95, 96, 97, 98, 99])); return outerEl; }