xtabs
Version:
A cross tabulation library for Node.js
37 lines (29 loc) • 1.03 kB
JavaScript
var xtabs = require("../lib/xtabs");
var sum = function(a) {
return a.reduce(function(x, y) { return x + y });
};
var mean = function(a) {
return sum(a) / a.length;
};
var prod = function(a) {
var res = a.reduce(function(x, y) { return x * y });
if (res === 0) res = 1;
return res;
};
var data = {
department: xtabs.factor(["MIS", "MIS", "HR", "TR", null, "TR", "MIS"]),
team: xtabs.factor(["Oversea", "PO", "HR", "Tech", null, "Tech", "PO"]),
gender: xtabs.factor(["M", "F", "F", "M", "F", "M", "M"])
};
var t = xtabs.table(data, "department", "team", "gender");
for (var i = 0; i < 1000; i++) {
xtabs.prop(t);
// xtabs.addMargins(t, [0, 1], [[{ n: "Sum", f: sum }, { n: "Mean", f: mean }], [{ n: "Prod", f: prod }]]);
}
var start = Date.now();
for (var i = 0; i < 100000; i++) {
xtabs.prop(t);
// xtabs.addMargins(t, [0, 1], [[{ n: "Sum", f: sum }, { n: "Mean", f: mean }], [{ n: "Prod", f: prod }]]);
}
var end = Date.now();
console.log("It took %d milliseconds to run 100000 times.", (end - start));