Javascript do not have an object or package that specifically handling statistics. Here are some javascript scipts of variance, stardard deviation, standard error, mean, median calculations.
//Check whether is a number or not function isNum(args) { args = args.toString(); if (args.length == 0) return false; for (var i = 0; i<args.length; i++) { if ((args.substring(i,i+1) < "0" || args.substring(i, i+1) > "9") && args.substring(i, i+1) != "." && args.substring(i, i+1) != "-") {return false;} } return true; } //calculate the mean of a number array function mean(arr) { var len = 0; var sum = 0; for(var i=0;i<arr.length;i++) { if (arr[i] == ""){} else if (!isNum(arr[i])) { alert(arr[i] + " is not number!"); return; } else { len = len + 1; sum = sum + parseFloat(arr[i]); } } return sum / len; }
Variance of a number array
function variance(arr) { var len = 0; var sum=0; for(var i=0;i<arr.length;i++) { if (arr[i] == ""){} else if (!isNum(arr[i])) { alert(arr[i] + " is not number, Variance Calculation failed!"); return 0; } else { len = len + 1; sum = sum + parseFloat(arr[i]); } } var v = 0; if (len > 1) { var mean = sum / len; for(var i=0;i<arr.length;i++) { if (arr[i] == ""){} else { v = v + (arr[i] - mean) * (arr[i] - mean); } } return v / len; } else { return 0; } }
Get the largest and smallest number of a number array
//Get the largest number of a number array function max(arr) { var max = -99999; for(var i=0;i<arr.length;i++) { if (arr[i] == ""){} else if (!isNum(arr[i])) { alert(arr[i] + " is not number!"); return; } else { if (i == 0) {max = arr[i];} else if (max < arr[i]) {max = arr[i];} } } return max; } //Get the smallest number of a number array function min(arr) { var min = 99999; for(var i=0;i<arr.length;i++) { if (arr[i] == ""){} else if (!isNum(arr[i])) { alert(arr[i] + " is not number!"); return; } else { if (i == 0) {min = arr[i];} else if (min > arr[i]) {min = arr[i];} } } return min; }
Standard deviation (SD) and standard error (SE)
//Standard deviation var sd = Math.sqrt(variance(arr)); //Standard error var se = Math.sqrt(variance(arr)/(arr.length-1));
median of a number array
function median(arr) { arr.sort(function(a,b){return a-b}); var median = 0; if (arr.length % 2 == 1) { median = arr[(arr.length+1)/2 - 1]; } else { median = (1 * arr[arr.length/2 - 1] + 1 * arr[arr.length/2] )/2; } return median; }