Skip to content

Instantly share code, notes, and snippets.

@joelmm1
Forked from hanksudo/stdev.js
Created August 13, 2017 10:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joelmm1/19e8fa62e5f8df3fda15e1ea063c6cee to your computer and use it in GitHub Desktop.
Save joelmm1/19e8fa62e5f8df3fda15e1ea063c6cee to your computer and use it in GitHub Desktop.
Standard deviation(STDEV) with JavaScript
var stdev = function(arr) {
var n = arr.length;
var sum = 0;
arr.map(function(data) {
sum+=data;
});
var mean = sum / n;
var variance = 0.0;
var v1 = 0.0;
var v2 = 0.0;
if (n != 1) {
for (var i = 0; i<n; i++) {
v1 = v1 + (arr[i] - mean) * (arr[i] - mean);
v2 = v2 + (arr[i] - mean);
}
v2 = v2 * v2 / n;
variance = (v1 - v2) / (n-1);
if (variance < 0) { variance = 0; }
stddev = Math.sqrt(variance);
}
return {
mean: Math.round(mean*100)/100,
variance: variance,
deviation: Math.round(stddev*100)/100
};
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment