UNPKG

xtabs

Version:

A cross tabulation library for Node.js

37 lines (29 loc) 1.03 kB
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));